Creates one independent post per destination, as the app does when several channels are selected. The posts share a post_group_id. Each destination may override the shared content, media, content_type and meta.
status: scheduled schedules every post at scheduled_at or in each channel’s queue (queue: next or top). One specific slot (queue_slot) is not taken here: use POST /posts or PUT /channels/{account}/queue/slot.
destinations[].meta follows the same per-network rules as a post’s meta (see PlatformMeta), checked with the destination’s network; errors are reported on destinations.N.meta.*. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as pending_approval.
Shared text, at most 25000 characters. When status is scheduled or publishing it must also fit each account's limit (max_content_length of the social account, for example 280 on X or 25000 for X accounts with long posts, 300 on Bluesky, 500 on Mastodon including the content warning), measured on the text the network receives. A scheduled or published post needs text or media.
When to publish, for status: scheduled. Any date string; must be in the future and before 2038-01-19. Cannot be combined with queue. Required with status: scheduled unless queue is sent.
Queue position, only with status: scheduled. next takes the channel's first free slot; top takes its first slot and moves the queued posts behind it to the next gap. Every channel must have posting times (has_posting_schedule). Cannot be combined with scheduled_at.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"PostClean Docs","colors":{"primary":"#1f4a34","light":"#51bc69","dark":"#1f4a34"},"logo":{"light":"https://mintcdn.com/chat-clean/aGFnoJWXeKN29AhB/logo/light.svg?fit=max\u0026auto=format\u0026n=aGFnoJWXeKN29AhB\u0026q=85\u0026s=e6706f33c16dba4b6f9197048cc03e4c","dark":"https://mintcdn.com/chat-clean/aGFnoJWXeKN29AhB/logo/dark.svg?fit=max\u0026auto=format\u0026n=aGFnoJWXeKN29AhB\u0026q=85\u0026s=d44865d5cafe56d0da4a387ab510bea7","href":"https://docs.postclean.com.br"},"favicon":"https://mintcdn.com/chat-clean/I-9EQrCnliVRvfUA/logo/favicon.svg?fit=max\u0026auto=format\u0026n=I-9EQrCnliVRvfUA\u0026q=85\u0026s=c8f5bd4e0678790423935122a3f1abba","appearance":{"default":"light","strict":true},"background":{"color":{"light":"#f0eee4","dark":"#0d1611"}},"navbar":{"links":[{"href":"mailto:contato@chatclean.com.br","label":"Suporte"}],"primary":{"type":"button","label":"Acessar o PostClean","href":"https://post.chatclean.com.br"}},"footer":{"socials":{"website":"https://chatclean.com.br"}},"seo":{"metatags":{"canonical":"https://docs.postclean.com.br"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"chat-clean","hasAudioNarration":false,"actualSubdomain":"chat-clean","customDomains":["docs.postclean.com.br"],"gitSource":{"type":"github","owner":"chat-clean","repo":"docs-postclean","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6aedd166f2587db843a5c4f0"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aedf1a92f3197cf5b964fcf","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Referência da API","count":86},{"language":"default","tag":"Base de conhecimento","count":39},{"language":"default","tag":"Construa com IA","count":20},{"language":"default","tag":"Guias de configuração","count":18},{"language":"default","tag":"Documentação","count":16},{"language":"default","tag":"Plataformas","count":13},{"language":"default","tag":"Repost","count":12},{"language":"default","tag":"Configurações","count":12},{"language":"default","tag":"Automações","count":10},{"language":"default","tag":"Canais","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/posts/create-posts-in-batch","slug":"/api-reference/posts/create-posts-in-batch","pageMetadata":{"title":"Create posts in batch","description":"Creates one independent post per destination, as the app does when several channels are selected. The posts share a `post_group_id`. Each destination may override the shared `content`, `media`, `content_type` and `meta`.\n\n`status: scheduled` schedules every post at `scheduled_at` or in each channel's queue (`queue: next` or `top`). One specific slot (`queue_slot`) is not taken here: use `POST /posts` or `PUT /channels/{account}/queue/slot`.\n\n`destinations[].meta` follows the same per-network rules as a post's `meta` (see `PlatformMeta`), checked with the destination's network; errors are reported on `destinations.N.meta.*`. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as `pending_approval`.","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/batch","href":"/api-reference/posts/create-posts-in-batch","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Creates one independent post per destination, as the app does when several channels are selected. The posts share a \", _jsx(_components.code, {\n children: \"post_group_id\"\n }), \". Each destination may override the shared \", _jsx(_components.code, {\n children: \"content\"\n }), \", \", _jsx(_components.code, {\n children: \"media\"\n }), \", \", _jsx(_components.code, {\n children: \"content_type\"\n }), \" and \", _jsx(_components.code, {\n children: \"meta\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"status: scheduled\"\n }), \" schedules every post at \", _jsx(_components.code, {\n children: \"scheduled_at\"\n }), \" or in each channel’s queue (\", _jsx(_components.code, {\n children: \"queue: next\"\n }), \" or \", _jsx(_components.code, {\n children: \"top\"\n }), \"). One specific slot (\", _jsx(_components.code, {\n children: \"queue_slot\"\n }), \") is not taken here: use \", _jsx(_components.code, {\n children: \"POST /posts\"\n }), \" or \", _jsx(_components.code, {\n children: \"PUT /channels/{account}/queue/slot\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"destinations[].meta\"\n }), \" follows the same per-network rules as a post’s \", _jsx(_components.code, {\n children: \"meta\"\n }), \" (see \", _jsx(_components.code, {\n children: \"PlatformMeta\"\n }), \"), checked with the destination’s network; errors are reported on \", _jsx(_components.code, {\n children: \"destinations.N.meta.*\"\n }), \". To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as \", _jsx(_components.code, {\n children: \"pending_approval\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create posts in batch","description":"Creates one independent post per destination, as the app does when several channels are selected. The posts share a `post_group_id`. Each destination may override the shared `content`, `media`, `content_type` and `meta`.\n\n`status: scheduled` schedules every post at `scheduled_at` or in each channel's queue (`queue: next` or `top`). One specific slot (`queue_slot`) is not taken here: use `POST /posts` or `PUT /channels/{account}/queue/slot`.\n\n`destinations[].meta` follows the same per-network rules as a post's `meta` (see `PlatformMeta`), checked with the destination's network; errors are reported on `destinations.N.meta.*`. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as `pending_approval`.","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/batch","href":"/api-reference/posts/create-posts-in-batch","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Posts"],"summary":"Create posts in batch","operationId":"createPostsInBatch","description":"Creates one independent post per destination, as the app does when several channels are selected. The posts share a `post_group_id`. Each destination may override the shared `content`, `media`, `content_type` and `meta`.\n\n`status: scheduled` schedules every post at `scheduled_at` or in each channel's queue (`queue: next` or `top`). One specific slot (`queue_slot`) is not taken here: use `POST /posts` or `PUT /channels/{account}/queue/slot`.\n\n`destinations[].meta` follows the same per-network rules as a post's `meta` (see `PlatformMeta`), checked with the destination's network; errors are reported on `destinations.N.meta.*`. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as `pending_approval`.","requestBody":"70adcb4a-6706-4e6a-88bb-a43bed1d9fac","responses":{"201":"2fc28002-79dd-4f57-817e-6da6b7334a19","401":"ebbb390c-d634-48f1-9713-324089c492b8","402":"1a8542da-2ed4-46be-ab0e-c3aefde2c3c3","403":"88cddca4-68aa-4377-af15-532ab9c76435","409":"492f07e1-3b96-4810-9679-35ab66c8bdf8","422":"034aa2c0-13ad-4a12-9e76-d451ab3718b2","429":"d202bdc3-7e5f-455a-9eb2-01410763305d"},"method":"post","type":"path","servers":["afcb1dae-d766-4bbd-a190-39a879d11552"],"security":["d0a8d57f-37a0-4edf-ac4c-20cd3a8776da"],"path":"/posts/batch","baseUrlOptions":["https://post.chatclean.com.br/api"],"title":"Create posts in batch","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["status","destinations"],"properties":{"status":{"type":"string","enum":["draft","scheduled","publishing"],"description":"`draft` keeps the post editable. `scheduled` schedules it at `scheduled_at` or in the channel queue (`queue`). `publishing` publishes it now.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"destinations":{"type":"array","minItems":1,"description":"One entry per social account; each account at most once.","items":{"type":"object","required":["social_account_id"],"properties":{"social_account_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"destinations.items.[INDEX].social_account_id","typeLabel":"string\u003cuuid>"},"content_type":{"oneOf":[{"type":"string","description":"Must belong to the account's network. Omitted, it is chosen from the media.","enum":["instagram_feed","instagram_reel","instagram_story","linkedin_post","linkedin_page_post","facebook_post","facebook_reel","facebook_story","tiktok_video","tiktok_photo","youtube_short","x_post","x_poll","threads_post","threads_ghost_post","pinterest_pin","pinterest_video_pin","pinterest_carousel","bluesky_post","mastodon_post","telegram_post","discord_message","google_business_post"],"uniqueKey":"destinations.items.[INDEX].content_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Must belong to the account's network. Omitted, it is chosen from the media.","uniqueKey":"destinations.items.[INDEX].content_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].content_type","typeLabel":"enum\u003cstring> | null"},"content":{"oneOf":[{"type":"string","maxLength":25000,"description":"Replaces the shared text for this destination.","uniqueKey":"destinations.items.[INDEX].content.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":25000,"description":"Replaces the shared text for this destination.","uniqueKey":"destinations.items.[INDEX].content.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].content","typeLabel":"string | null"},"media":{"type":"array","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours.","uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].upload_token","typeLabel":"string\u003cuuid>"},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused.","uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].url","typeLabel":"string\u003curi>"},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied.","uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent.","uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].alt","typeLabel":"string"},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap.","uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].meta.alt_text","typeLabel":"string"},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].meta.user_tags.items.[INDEX].username","typeLabel":"string"},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].meta.user_tags.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].meta.user_tags.items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].meta.user_tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].meta.user_tags","typeLabel":"object[]"},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video.","uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].meta.cover_offset_ms","typeLabel":"integer"}},"uniqueKey":"destinations.items.[INDEX].media.items.[INDEX].meta","typeLabel":"object"}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}],"uniqueKey":"destinations.items.[INDEX].media.items.[INDEX]","typeLabel":"object"},"description":"Replaces the shared media for this destination. An item without alt text takes the alt text of the same shared item.","uniqueKey":"destinations.items.[INDEX].media","typeLabel":"object[]"},"meta":{"oneOf":[{"type":"object","title":"X","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"thread_replies":{"oneOf":[{"type":"array","maxItems":24,"description":"Up to 24 replies published under the post as a thread. Each item is a `ThreadReply`, or a plain string for a text-only reply. On update this list replaces the stored one. On X a reply can be a poll: `{text, poll}` with no media.","items":{"oneOf":[{"type":"string","title":"Text-only reply","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"object","description":"One reply published under the post as a thread (X, Bluesky and Mastodon), or the comment of a LinkedIn post. A reply needs text or media, except a poll reply, which needs its text (the question) and takes no media, drafts included. Its text must fit the account limit (Bluesky 300, Mastodon 500 including the content warning, which every reply repeats, X 280 or 25000 for accounts with long posts). Its media belongs to this reply only and follows the media rules of a post on that network. On X a reply can instead be a poll (`poll`), with its text as the question (at most 280 characters) and no media; off X `poll` is dropped. On LinkedIn a post takes one reply, published as a comment from the same profile or page: text only, up to 3000 characters.","example":{"text":"3/ Full changelog below.","media":[{"url":"https://example.com/changelog.png"}]},"properties":{"text":{"oneOf":[{"type":"string","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text","typeLabel":"string | null"},"media":{"type":"array","maxItems":4,"description":"Up to 4 media items, each given by `url`, `id` or `upload_token`, with optional `meta.alt_text`.","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].upload_token","typeLabel":"string\u003cuuid>"},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].url","typeLabel":"string\u003curi>"},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].alt","typeLabel":"string"},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.alt_text","typeLabel":"string"},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].username","typeLabel":"string"},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags","typeLabel":"object[]"},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.cover_offset_ms","typeLabel":"integer"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta","typeLabel":"object"}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media","typeLabel":"object[]"},"poll":{"oneOf":[{"type":"object","description":"X only: makes this reply a poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.0.items.[INDEX]","typeLabel":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options","typeLabel":"string[] | null"},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes","typeLabel":"integer | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0","typeLabel":"object"},{"type":"null","description":"X only: makes this reply a poll.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll","typeLabel":"object | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0.items.[INDEX]","typeLabel":"string | object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.0","typeLabel":"(string | object)[]"},{"type":"null","maxItems":24,"description":"Up to 24 replies published under the post as a thread. Each item is a `ThreadReply`, or a plain string for a text-only reply. On update this list replaces the stored one. On X a reply can be a poll: `{text, poll}` with no media.","items":{"oneOf":[{"type":"string","title":"Text-only reply","maxLength":25000},{"type":"object","description":"One reply published under the post as a thread (X, Bluesky and Mastodon), or the comment of a LinkedIn post. A reply needs text or media, except a poll reply, which needs its text (the question) and takes no media, drafts included. Its text must fit the account limit (Bluesky 300, Mastodon 500 including the content warning, which every reply repeats, X 280 or 25000 for accounts with long posts). Its media belongs to this reply only and follows the media rules of a post on that network. On X a reply can instead be a poll (`poll`), with its text as the question (at most 280 characters) and no media; off X `poll` is dropped. On LinkedIn a post takes one reply, published as a comment from the same profile or page: text only, up to 3000 characters.","example":{"text":"3/ Full changelog below.","media":[{"url":"https://example.com/changelog.png"}]},"properties":{"text":{"oneOf":[{"type":"string","maxLength":25000},{"type":"null","maxLength":25000}]},"media":{"type":"array","maxItems":4,"description":"Up to 4 media items, each given by `url`, `id` or `upload_token`, with optional `meta.alt_text`.","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours."},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused."},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied."},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent."},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap."},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped."},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1."},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1."}}}},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video."}}}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}]}},"poll":{"oneOf":[{"type":"object","description":"X only: makes this reply a poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"}},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"}}]},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default."},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default."}]}}},{"type":"null","description":"X only: makes this reply a poll."}]}}}]},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.thread_replies","typeLabel":"(string | object)[] | null"},"is_ai_generated":{"type":"boolean","description":"Discloses AI-generated media on the post (sent to X as `made_with_ai`).","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.is_ai_generated","typeLabel":"boolean"},"poll":{"oneOf":[{"type":"object","description":"`x_poll` only: the poll's choices and length. Dropped on any other content type. On update it is merged with the stored poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.0.options.oneOf.0.items.[INDEX]","typeLabel":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.0.options.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.0.options.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.0.options","typeLabel":"string[] | null"},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.0.duration_minutes.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.0.duration_minutes.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.0.duration_minutes","typeLabel":"integer | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.0","typeLabel":"object"},{"type":"null","description":"`x_poll` only: the poll's choices and length. Dropped on any other content type. On update it is merged with the stored poll.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0.poll","typeLabel":"object | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.0","typeLabel":"X · object"},{"type":"object","title":"Bluesky","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"thread_replies":{"oneOf":[{"type":"array","maxItems":24,"description":"Up to 24 replies published under the post as a thread. Each item is a `ThreadReply`, or a plain string for a text-only reply. On update this list replaces the stored one.","items":{"oneOf":[{"type":"string","title":"Text-only reply","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"object","description":"One reply published under the post as a thread (X, Bluesky and Mastodon), or the comment of a LinkedIn post. A reply needs text or media, except a poll reply, which needs its text (the question) and takes no media, drafts included. Its text must fit the account limit (Bluesky 300, Mastodon 500 including the content warning, which every reply repeats, X 280 or 25000 for accounts with long posts). Its media belongs to this reply only and follows the media rules of a post on that network. On X a reply can instead be a poll (`poll`), with its text as the question (at most 280 characters) and no media; off X `poll` is dropped. On LinkedIn a post takes one reply, published as a comment from the same profile or page: text only, up to 3000 characters.","example":{"text":"3/ Full changelog below.","media":[{"url":"https://example.com/changelog.png"}]},"properties":{"text":{"oneOf":[{"type":"string","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text","typeLabel":"string | null"},"media":{"type":"array","maxItems":4,"description":"Up to 4 media items, each given by `url`, `id` or `upload_token`, with optional `meta.alt_text`.","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].upload_token","typeLabel":"string\u003cuuid>"},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].url","typeLabel":"string\u003curi>"},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].alt","typeLabel":"string"},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.alt_text","typeLabel":"string"},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].username","typeLabel":"string"},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags","typeLabel":"object[]"},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.cover_offset_ms","typeLabel":"integer"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta","typeLabel":"object"}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media","typeLabel":"object[]"},"poll":{"oneOf":[{"type":"object","description":"X only: makes this reply a poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.0.items.[INDEX]","typeLabel":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options","typeLabel":"string[] | null"},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes","typeLabel":"integer | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0","typeLabel":"object"},{"type":"null","description":"X only: makes this reply a poll.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll","typeLabel":"object | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0.items.[INDEX]","typeLabel":"string | object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.0","typeLabel":"(string | object)[]"},{"type":"null","maxItems":24,"description":"Up to 24 replies published under the post as a thread. Each item is a `ThreadReply`, or a plain string for a text-only reply. On update this list replaces the stored one.","items":{"oneOf":[{"type":"string","title":"Text-only reply","maxLength":25000},{"type":"object","description":"One reply published under the post as a thread (X, Bluesky and Mastodon), or the comment of a LinkedIn post. A reply needs text or media, except a poll reply, which needs its text (the question) and takes no media, drafts included. Its text must fit the account limit (Bluesky 300, Mastodon 500 including the content warning, which every reply repeats, X 280 or 25000 for accounts with long posts). Its media belongs to this reply only and follows the media rules of a post on that network. On X a reply can instead be a poll (`poll`), with its text as the question (at most 280 characters) and no media; off X `poll` is dropped. On LinkedIn a post takes one reply, published as a comment from the same profile or page: text only, up to 3000 characters.","example":{"text":"3/ Full changelog below.","media":[{"url":"https://example.com/changelog.png"}]},"properties":{"text":{"oneOf":[{"type":"string","maxLength":25000},{"type":"null","maxLength":25000}]},"media":{"type":"array","maxItems":4,"description":"Up to 4 media items, each given by `url`, `id` or `upload_token`, with optional `meta.alt_text`.","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours."},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused."},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied."},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent."},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap."},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped."},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1."},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1."}}}},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video."}}}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}]}},"poll":{"oneOf":[{"type":"object","description":"X only: makes this reply a poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"}},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"}}]},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default."},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default."}]}}},{"type":"null","description":"X only: makes this reply a poll."}]}}}]},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.thread_replies","typeLabel":"(string | object)[] | null"},"link_preview":{"type":"boolean","default":true,"description":"Send `false` (a real boolean) to publish a text post with a link without its preview card.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.1.link_preview","typeLabel":"boolean"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.1","typeLabel":"Bluesky · object"},{"type":"object","title":"Mastodon","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"thread_replies":{"oneOf":[{"type":"array","maxItems":24,"description":"Up to 24 replies published under the post as a thread. Each item is a `ThreadReply`, or a plain string for a text-only reply. On update this list replaces the stored one.","items":{"oneOf":[{"type":"string","title":"Text-only reply","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"object","description":"One reply published under the post as a thread (X, Bluesky and Mastodon), or the comment of a LinkedIn post. A reply needs text or media, except a poll reply, which needs its text (the question) and takes no media, drafts included. Its text must fit the account limit (Bluesky 300, Mastodon 500 including the content warning, which every reply repeats, X 280 or 25000 for accounts with long posts). Its media belongs to this reply only and follows the media rules of a post on that network. On X a reply can instead be a poll (`poll`), with its text as the question (at most 280 characters) and no media; off X `poll` is dropped. On LinkedIn a post takes one reply, published as a comment from the same profile or page: text only, up to 3000 characters.","example":{"text":"3/ Full changelog below.","media":[{"url":"https://example.com/changelog.png"}]},"properties":{"text":{"oneOf":[{"type":"string","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text","typeLabel":"string | null"},"media":{"type":"array","maxItems":4,"description":"Up to 4 media items, each given by `url`, `id` or `upload_token`, with optional `meta.alt_text`.","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].upload_token","typeLabel":"string\u003cuuid>"},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].url","typeLabel":"string\u003curi>"},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].alt","typeLabel":"string"},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.alt_text","typeLabel":"string"},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].username","typeLabel":"string"},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags","typeLabel":"object[]"},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.cover_offset_ms","typeLabel":"integer"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta","typeLabel":"object"}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media","typeLabel":"object[]"},"poll":{"oneOf":[{"type":"object","description":"X only: makes this reply a poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.0.items.[INDEX]","typeLabel":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options","typeLabel":"string[] | null"},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes","typeLabel":"integer | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0","typeLabel":"object"},{"type":"null","description":"X only: makes this reply a poll.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll","typeLabel":"object | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0.items.[INDEX]","typeLabel":"string | object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.0","typeLabel":"(string | object)[]"},{"type":"null","maxItems":24,"description":"Up to 24 replies published under the post as a thread. Each item is a `ThreadReply`, or a plain string for a text-only reply. On update this list replaces the stored one.","items":{"oneOf":[{"type":"string","title":"Text-only reply","maxLength":25000},{"type":"object","description":"One reply published under the post as a thread (X, Bluesky and Mastodon), or the comment of a LinkedIn post. A reply needs text or media, except a poll reply, which needs its text (the question) and takes no media, drafts included. Its text must fit the account limit (Bluesky 300, Mastodon 500 including the content warning, which every reply repeats, X 280 or 25000 for accounts with long posts). Its media belongs to this reply only and follows the media rules of a post on that network. On X a reply can instead be a poll (`poll`), with its text as the question (at most 280 characters) and no media; off X `poll` is dropped. On LinkedIn a post takes one reply, published as a comment from the same profile or page: text only, up to 3000 characters.","example":{"text":"3/ Full changelog below.","media":[{"url":"https://example.com/changelog.png"}]},"properties":{"text":{"oneOf":[{"type":"string","maxLength":25000},{"type":"null","maxLength":25000}]},"media":{"type":"array","maxItems":4,"description":"Up to 4 media items, each given by `url`, `id` or `upload_token`, with optional `meta.alt_text`.","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours."},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused."},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied."},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent."},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap."},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped."},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1."},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1."}}}},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video."}}}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}]}},"poll":{"oneOf":[{"type":"object","description":"X only: makes this reply a poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"}},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"}}]},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default."},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default."}]}}},{"type":"null","description":"X only: makes this reply a poll."}]}}}]},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.thread_replies","typeLabel":"(string | object)[] | null"},"spoiler_text":{"oneOf":[{"type":"string","maxLength":500,"description":"Content warning. Counts toward the 500-character post limit.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.spoiler_text.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":500,"description":"Content warning. Counts toward the 500-character post limit.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.spoiler_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2.spoiler_text","typeLabel":"string | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.2","typeLabel":"Mastodon · object"},{"type":"object","title":"TikTok","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"privacy_level":{"oneOf":[{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY",null],"description":"Who can see the post. Required to schedule or publish.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.privacy_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY",null],"description":"Who can see the post. Required to schedule or publish.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.privacy_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.privacy_level","typeLabel":"enum\u003cstring> | null"},"allow_comments":{"type":"boolean","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.allow_comments","typeLabel":"boolean"},"allow_duet":{"type":"boolean","description":"`tiktok_video` only.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.allow_duet","typeLabel":"boolean"},"allow_stitch":{"type":"boolean","description":"`tiktok_video` only.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.allow_stitch","typeLabel":"boolean"},"is_aigc":{"type":"boolean","description":"AI-generated content label. `tiktok_video` only.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.is_aigc","typeLabel":"boolean"},"auto_add_music":{"type":"boolean","description":"`tiktok_photo` only.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.auto_add_music","typeLabel":"boolean"},"disclose":{"type":"boolean","description":"Commercial content disclosure.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.disclose","typeLabel":"boolean"},"brand_content_toggle":{"type":"boolean","description":"Paid partnership.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.brand_content_toggle","typeLabel":"boolean"},"brand_organic_toggle":{"type":"boolean","description":"Promotes your own brand.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.3.brand_organic_toggle","typeLabel":"boolean"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.3","typeLabel":"TikTok · object"},{"type":"object","title":"Pinterest","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"board_id":{"oneOf":[{"type":"string","description":"Board to pin to. Required to schedule or publish. List boards with `GET /social-accounts/{account}/boards` or create one with `POST /social-accounts/{account}/boards`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.board_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Board to pin to. Required to schedule or publish. List boards with `GET /social-accounts/{account}/boards` or create one with `POST /social-accounts/{account}/boards`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.board_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.board_id","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","maxLength":100,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.title.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":100,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.title.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.title","typeLabel":"string | null"},"link":{"oneOf":[{"type":"string","format":"uri","maxLength":2048,"description":"Destination URL (`http` or `https`).","uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.link.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","maxLength":2048,"description":"Destination URL (`http` or `https`).","uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.link.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.4.link","typeLabel":"string\u003curi> | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.4","typeLabel":"Pinterest · object"},{"type":"object","title":"Discord","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"channel_id":{"oneOf":[{"type":"string","description":"Channel to post in. Required to schedule or publish. List channels with `GET /social-accounts/{account}/channels`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.channel_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Channel to post in. Required to schedule or publish. List channels with `GET /social-accounts/{account}/channels`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.channel_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.channel_id","typeLabel":"string | null"},"mentions":{"oneOf":[{"type":"array","items":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"Mention token, for example `@everyone` or `\u003c@\u0026roleId>`.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.mentions.oneOf.0.items.[INDEX].token","typeLabel":"string"},"label":{"oneOf":[{"type":"string","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.mentions.oneOf.0.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.mentions.oneOf.0.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.mentions.oneOf.0.items.[INDEX].label","typeLabel":"string | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.mentions.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.mentions.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"Mention token, for example `@everyone` or `\u003c@\u0026roleId>`."},"label":{"oneOf":[{"type":"string"},{"type":"null"}]}}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.mentions.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.mentions","typeLabel":"object[] | null"},"embeds":{"oneOf":[{"type":"array","maxItems":10,"items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","maxLength":256,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":256,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].title","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","maxLength":4096,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":4096,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].description","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","format":"uri","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].url","typeLabel":"string\u003curi> | null"},"image":{"oneOf":[{"type":"string","format":"uri","description":"Image URL.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].image.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Image URL.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].image.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].image","typeLabel":"string\u003curi> | null"},"color":{"oneOf":[{"type":"string","pattern":"^#?[0-9A-Fa-f]{6}$","description":"Hex color, `#RRGGBB`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].color.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^#?[0-9A-Fa-f]{6}$","description":"Hex color, `#RRGGBB`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].color.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX].color","typeLabel":"string | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.0","typeLabel":"object[]"},{"type":"null","maxItems":10,"items":{"type":"object","properties":{"title":{"oneOf":[{"type":"string","maxLength":256},{"type":"null","maxLength":256}]},"description":{"oneOf":[{"type":"string","maxLength":4096},{"type":"null","maxLength":4096}]},"url":{"oneOf":[{"type":"string","format":"uri"},{"type":"null","format":"uri"}]},"image":{"oneOf":[{"type":"string","format":"uri","description":"Image URL."},{"type":"null","format":"uri","description":"Image URL."}]},"color":{"oneOf":[{"type":"string","pattern":"^#?[0-9A-Fa-f]{6}$","description":"Hex color, `#RRGGBB`."},{"type":"null","pattern":"^#?[0-9A-Fa-f]{6}$","description":"Hex color, `#RRGGBB`."}]}}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5.embeds","typeLabel":"object[] | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.5","typeLabel":"Discord · object"},{"type":"object","title":"YouTube","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"title":{"oneOf":[{"type":"string","maxLength":100,"description":"No `\u003c` or `>` (refused even on drafts). Omitted, it is the first non-empty line of the text with `\u003c` and `>` removed, cut to 100 characters.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.title.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":100,"description":"No `\u003c` or `>` (refused even on drafts). Omitted, it is the first non-empty line of the text with `\u003c` and `>` removed, cut to 100 characters.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.title.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.title","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Plain text, at most 5000 bytes. Omit or send `null` to use the post content.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plain text, at most 5000 bytes. Omit or send `null` to use the post content.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.description","typeLabel":"string | null"},"category_id":{"oneOf":[{"type":"string","enum":["1","2","10","15","17","19","20","22","23","24","25","26","27","28","29",null],"default":"22","description":"YouTube category: 1 Film \u0026 Animation, 2 Autos \u0026 Vehicles, 10 Music, 15 Pets \u0026 Animals, 17 Sports, 19 Travel \u0026 Events, 20 Gaming, 22 People \u0026 Blogs, 23 Comedy, 24 Entertainment, 25 News \u0026 Politics, 26 Howto \u0026 Style, 27 Education, 28 Science \u0026 Technology, 29 Nonprofits \u0026 Activism. An integer id is accepted and stored as a string.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.category_id.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["1","2","10","15","17","19","20","22","23","24","25","26","27","28","29",null],"default":"22","description":"YouTube category: 1 Film \u0026 Animation, 2 Autos \u0026 Vehicles, 10 Music, 15 Pets \u0026 Animals, 17 Sports, 19 Travel \u0026 Events, 20 Gaming, 22 People \u0026 Blogs, 23 Comedy, 24 Entertainment, 25 News \u0026 Politics, 26 Howto \u0026 Style, 27 Education, 28 Science \u0026 Technology, 29 Nonprofits \u0026 Activism. An integer id is accepted and stored as a string.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.category_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.category_id","typeLabel":"enum\u003cstring> | null"},"privacy_status":{"oneOf":[{"type":"string","enum":["public","unlisted","private",null],"default":"public","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.privacy_status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["public","unlisted","private",null],"default":"public","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.privacy_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.privacy_status","typeLabel":"enum\u003cstring> | null"},"license":{"oneOf":[{"type":"string","enum":["youtube","creativeCommon",null],"default":"youtube","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.license.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["youtube","creativeCommon",null],"default":"youtube","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.license.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.license","typeLabel":"enum\u003cstring> | null"},"notify_subscribers":{"type":"boolean","default":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.notify_subscribers","typeLabel":"boolean"},"embeddable":{"type":"boolean","default":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.embeddable","typeLabel":"boolean"},"made_for_kids":{"type":"boolean","default":false,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.made_for_kids","typeLabel":"boolean"},"is_ai_generated":{"type":"boolean","description":"Discloses altered or synthetic content.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.6.is_ai_generated","typeLabel":"boolean"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.6","typeLabel":"YouTube · object"},{"type":"object","title":"Instagram","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"is_ai_generated":{"type":"boolean","description":"AI-generated label (feed, reels, stories, carousels).","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.is_ai_generated","typeLabel":"boolean"},"share_to_feed":{"type":"boolean","default":true,"description":"`instagram_reel` only: also show the Reel in the profile feed.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.share_to_feed","typeLabel":"boolean"},"collaborators":{"oneOf":[{"type":"array","maxItems":3,"items":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.collaborators.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Up to 3 Instagram usernames invited as co-authors of a feed post, carousel or Reel (ignored on stories). A leading `@` and duplicates are dropped. Each invited account must accept in the Instagram app. A username that does not exist fails the post when it publishes. Not allowed together with `trial_graduation`.","example":["postclean","paulocastellano"],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.collaborators.oneOf.0","typeLabel":"string[]"},{"type":"null","maxItems":3,"items":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$"},"description":"Up to 3 Instagram usernames invited as co-authors of a feed post, carousel or Reel (ignored on stories). A leading `@` and duplicates are dropped. Each invited account must accept in the Instagram app. A username that does not exist fails the post when it publishes. Not allowed together with `trial_graduation`.","example":["postclean","paulocastellano"],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.collaborators.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.collaborators","typeLabel":"string[] | null"},"trial_graduation":{"oneOf":[{"type":"string","enum":["MANUAL","SS_PERFORMANCE",null],"description":"`instagram_reel` only: publish a trial reel, shown to non-followers first. `SS_PERFORMANCE` lets Instagram share it with your followers when it performs well (after 72 hours); `MANUAL` waits for you to share it in the Instagram app. Only works on accounts where Instagram offers trial reels. Scheduling or publishing a trial reel that has `collaborators` is refused.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.trial_graduation.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["MANUAL","SS_PERFORMANCE",null],"description":"`instagram_reel` only: publish a trial reel, shown to non-followers first. `SS_PERFORMANCE` lets Instagram share it with your followers when it performs well (after 72 hours); `MANUAL` waits for you to share it in the Instagram app. Only works on accounts where Instagram offers trial reels. Scheduling or publishing a trial reel that has `collaborators` is refused.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.trial_graduation.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.trial_graduation","typeLabel":"enum\u003cstring> | null"},"audio":{"oneOf":[{"type":"object","description":"`instagram_reel` only, on an `instagram-facebook` account: music for the Reel. Get the `id` from [Search Instagram audio](/api-reference/social-accounts/search-instagram-audio). Copy `title`, `artist`, `cover_url` and `preview_url` from that result too, so the app shows the track; when they are missing, the app fills them in the first time the post is opened in the composer. Scheduling or publishing is refused when `id` is missing, or when the account is connected with Instagram's own login (`Music needs an Instagram account connected through Facebook.`); a post stored that way (for example after the channel was reconnected with Instagram's login) fails with the same message when its time comes. Instagram does not let you choose which part of the track plays.","properties":{"id":{"oneOf":[{"type":"string","maxLength":64,"pattern":"^[0-9]+$","description":"Instagram audio asset id, as a string of digits. A number is refused.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.id.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":64,"pattern":"^[0-9]+$","description":"Instagram audio asset id, as a string of digits. A number is refused.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.id","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","maxLength":255,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.title.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.title.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.title","typeLabel":"string | null"},"artist":{"oneOf":[{"type":"string","maxLength":255,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.artist.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.artist.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.artist","typeLabel":"string | null"},"cover_url":{"oneOf":[{"type":"string","format":"uri","maxLength":2048,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.cover_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","maxLength":2048,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.cover_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.cover_url","typeLabel":"string\u003curi> | null"},"preview_url":{"oneOf":[{"type":"string","format":"uri","maxLength":4096,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.preview_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","maxLength":4096,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.preview_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.preview_url","typeLabel":"string\u003curi> | null"},"audio_volume":{"oneOf":[{"type":"integer","minimum":0,"maximum":100,"default":100,"description":"Music volume.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.audio_volume.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"maximum":100,"default":100,"description":"Music volume.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.audio_volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.audio_volume","typeLabel":"integer | null"},"video_volume":{"oneOf":[{"type":"integer","minimum":0,"maximum":100,"default":100,"description":"Volume of the Reel's own sound.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.video_volume.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"maximum":100,"default":100,"description":"Volume of the Reel's own sound.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.video_volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0.video_volume","typeLabel":"integer | null"}},"example":{"id":"1234567890123456","title":"Grudge","artist":"Olivia Rodrigo","audio_volume":40,"video_volume":100},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.0","typeLabel":"object"},{"type":"null","description":"`instagram_reel` only, on an `instagram-facebook` account: music for the Reel. Get the `id` from [Search Instagram audio](/api-reference/social-accounts/search-instagram-audio). Copy `title`, `artist`, `cover_url` and `preview_url` from that result too, so the app shows the track; when they are missing, the app fills them in the first time the post is opened in the composer. Scheduling or publishing is refused when `id` is missing, or when the account is connected with Instagram's own login (`Music needs an Instagram account connected through Facebook.`); a post stored that way (for example after the channel was reconnected with Instagram's login) fails with the same message when its time comes. Instagram does not let you choose which part of the track plays.","properties":{"id":{"oneOf":[{"type":"string","maxLength":64,"pattern":"^[0-9]+$","description":"Instagram audio asset id, as a string of digits. A number is refused."},{"type":"null","maxLength":64,"pattern":"^[0-9]+$","description":"Instagram audio asset id, as a string of digits. A number is refused."}]},"title":{"oneOf":[{"type":"string","maxLength":255},{"type":"null","maxLength":255}]},"artist":{"oneOf":[{"type":"string","maxLength":255},{"type":"null","maxLength":255}]},"cover_url":{"oneOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null","format":"uri","maxLength":2048}]},"preview_url":{"oneOf":[{"type":"string","format":"uri","maxLength":4096},{"type":"null","format":"uri","maxLength":4096}]},"audio_volume":{"oneOf":[{"type":"integer","minimum":0,"maximum":100,"default":100,"description":"Music volume."},{"type":"null","minimum":0,"maximum":100,"default":100,"description":"Music volume."}]},"video_volume":{"oneOf":[{"type":"integer","minimum":0,"maximum":100,"default":100,"description":"Volume of the Reel's own sound."},{"type":"null","minimum":0,"maximum":100,"default":100,"description":"Volume of the Reel's own sound."}]}},"example":{"id":"1234567890123456","title":"Grudge","artist":"Olivia Rodrigo","audio_volume":40,"video_volume":100},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7.audio","typeLabel":"object | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.7","typeLabel":"Instagram · object"},{"type":"object","title":"Threads","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"topic_tag":{"oneOf":[{"type":"string","description":"Topic, 1 to 50 characters after a leading `#` is dropped, without `.` or `\u0026`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.8.topic_tag.oneOf.0","typeLabel":"string"},{"type":"null","description":"Topic, 1 to 50 characters after a leading `#` is dropped, without `.` or `\u0026`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.8.topic_tag.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.8.topic_tag","typeLabel":"string | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.8","typeLabel":"Threads · object"},{"type":"object","title":"Facebook","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"link_preview":{"type":"boolean","default":true,"description":"Send `false` (a real boolean) to publish a text post with a link without its preview card.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.9.link_preview","typeLabel":"boolean"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.9","typeLabel":"Facebook · object"},{"type":"object","title":"LinkedIn","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"link_preview":{"type":"boolean","default":true,"description":"Send `false` (a real boolean) to publish a text post with a link without its preview card.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.link_preview","typeLabel":"boolean"},"document_title":{"oneOf":[{"type":"string","maxLength":300,"description":"Title shown on a PDF document post. Defaults to the file name.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.document_title.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":300,"description":"Title shown on a PDF document post. Defaults to the file name.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.document_title.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.document_title","typeLabel":"string | null"},"thread_replies":{"oneOf":[{"type":"array","description":"One reply, published as a comment from the same profile or page right after the post. Text only, at most 3000 characters, HTML handled as in the post. A draft accepts up to 24 replies like any thread; scheduling or publishing refuses a second reply, media, an empty comment and one over 3000 characters. On update this list replaces the stored one.","items":{"oneOf":[{"type":"string","title":"Comment text","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"object","description":"One reply published under the post as a thread (X, Bluesky and Mastodon), or the comment of a LinkedIn post. A reply needs text or media, except a poll reply, which needs its text (the question) and takes no media, drafts included. Its text must fit the account limit (Bluesky 300, Mastodon 500 including the content warning, which every reply repeats, X 280 or 25000 for accounts with long posts). Its media belongs to this reply only and follows the media rules of a post on that network. On X a reply can instead be a poll (`poll`), with its text as the question (at most 280 characters) and no media; off X `poll` is dropped. On LinkedIn a post takes one reply, published as a comment from the same profile or page: text only, up to 3000 characters.","example":{"text":"3/ Full changelog below.","media":[{"url":"https://example.com/changelog.png"}]},"properties":{"text":{"oneOf":[{"type":"string","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":25000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.text","typeLabel":"string | null"},"media":{"type":"array","maxItems":4,"description":"Up to 4 media items, each given by `url`, `id` or `upload_token`, with optional `meta.alt_text`.","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].upload_token","typeLabel":"string\u003cuuid>"},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].url","typeLabel":"string\u003curi>"},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].alt","typeLabel":"string"},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.alt_text","typeLabel":"string"},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].username","typeLabel":"string"},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1.","isRequired":true,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.user_tags","typeLabel":"object[]"},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta.cover_offset_ms","typeLabel":"integer"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX].meta","typeLabel":"object"}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media.items.[INDEX]","typeLabel":"object"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.media","typeLabel":"object[]"},"poll":{"oneOf":[{"type":"object","description":"X only: makes this reply a poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.0.items.[INDEX]","typeLabel":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.options","typeLabel":"string[] | null"},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0.duration_minutes","typeLabel":"integer | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.0","typeLabel":"object"},{"type":"null","description":"X only: makes this reply a poll.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1.poll","typeLabel":"object | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0.items.[INDEX]","typeLabel":"string | object"},"examples":[[{"text":"Read more: https://chatclean.com.br/blog"}]],"maxItems":24,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.0","typeLabel":"(string | object)[]"},{"type":"null","description":"One reply, published as a comment from the same profile or page right after the post. Text only, at most 3000 characters, HTML handled as in the post. A draft accepts up to 24 replies like any thread; scheduling or publishing refuses a second reply, media, an empty comment and one over 3000 characters. On update this list replaces the stored one.","items":{"oneOf":[{"type":"string","title":"Comment text","maxLength":25000},{"type":"object","description":"One reply published under the post as a thread (X, Bluesky and Mastodon), or the comment of a LinkedIn post. A reply needs text or media, except a poll reply, which needs its text (the question) and takes no media, drafts included. Its text must fit the account limit (Bluesky 300, Mastodon 500 including the content warning, which every reply repeats, X 280 or 25000 for accounts with long posts). Its media belongs to this reply only and follows the media rules of a post on that network. On X a reply can instead be a poll (`poll`), with its text as the question (at most 280 characters) and no media; off X `poll` is dropped. On LinkedIn a post takes one reply, published as a comment from the same profile or page: text only, up to 3000 characters.","example":{"text":"3/ Full changelog below.","media":[{"url":"https://example.com/changelog.png"}]},"properties":{"text":{"oneOf":[{"type":"string","maxLength":25000},{"type":"null","maxLength":25000}]},"media":{"type":"array","maxItems":4,"description":"Up to 4 media items, each given by `url`, `id` or `upload_token`, with optional `meta.alt_text`.","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours."},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused."},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied."},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent."},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap."},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped."},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1."},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1."}}}},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video."}}}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}]}},"poll":{"oneOf":[{"type":"object","description":"X only: makes this reply a poll.","example":{"options":["Calendar sync","Bulk upload","Dark mode"],"duration_minutes":1440},"properties":{"options":{"oneOf":[{"type":"array","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"}},{"type":"null","description":"2 to 4 choices to schedule or publish, each 1 to 25 characters as X counts them (an emoji outside the basic plane, such as 🐧, counts two). No two the same, compared without case. Blank choices are dropped. More than 4, a repeated choice or one over 25 characters is refused on every save, drafts included. Length is measured after trimming.","items":{"type":"string"}}]},"duration_minutes":{"oneOf":[{"type":"integer","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default."},{"type":"null","minimum":5,"maximum":10080,"description":"How long voting stays open, from 5 minutes to 7 days. Required to schedule or publish; there is no default."}]}}},{"type":"null","description":"X only: makes this reply a poll."}]}}}]},"examples":[[{"text":"Read more: https://chatclean.com.br/blog"}]],"maxItems":24,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10.thread_replies","typeLabel":"(string | object)[] | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.10","typeLabel":"LinkedIn · object"},{"type":"object","title":"Google Business Profile","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{"topic_type":{"oneOf":[{"type":"string","enum":["STANDARD","EVENT","OFFER",null],"default":"STANDARD","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.topic_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["STANDARD","EVENT","OFFER",null],"default":"STANDARD","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.topic_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.topic_type","typeLabel":"enum\u003cstring> | null"},"call_to_action":{"oneOf":[{"type":"object","description":"Button on the post. Not on `OFFER`.","properties":{"action_type":{"oneOf":[{"type":"string","enum":["NONE","BOOK","ORDER","SHOP","LEARN_MORE","SIGN_UP","CALL",null],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action.oneOf.0.action_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["NONE","BOOK","ORDER","SHOP","LEARN_MORE","SIGN_UP","CALL",null],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action.oneOf.0.action_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action.oneOf.0.action_type","typeLabel":"enum\u003cstring> | null"},"url":{"oneOf":[{"type":"string","format":"uri","maxLength":2048,"description":"Required unless `action_type` is `NONE` or `CALL`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action.oneOf.0.url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","maxLength":2048,"description":"Required unless `action_type` is `NONE` or `CALL`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action.oneOf.0.url","typeLabel":"string\u003curi> | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action.oneOf.0","typeLabel":"object"},{"type":"null","description":"Button on the post. Not on `OFFER`.","properties":{"action_type":{"oneOf":[{"type":"string","enum":["NONE","BOOK","ORDER","SHOP","LEARN_MORE","SIGN_UP","CALL",null]},{"type":"null","enum":["NONE","BOOK","ORDER","SHOP","LEARN_MORE","SIGN_UP","CALL",null]}]},"url":{"oneOf":[{"type":"string","format":"uri","maxLength":2048,"description":"Required unless `action_type` is `NONE` or `CALL`."},{"type":"null","format":"uri","maxLength":2048,"description":"Required unless `action_type` is `NONE` or `CALL`."}]}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.call_to_action","typeLabel":"object | null"},"event":{"oneOf":[{"type":"object","description":"Required on `EVENT` and `OFFER`.","properties":{"title":{"oneOf":[{"type":"string","maxLength":58,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.title.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":58,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.title.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.title","typeLabel":"string | null"},"start_date":{"oneOf":[{"type":"string","format":"date","description":"`YYYY-MM-DD`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.start_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"`YYYY-MM-DD`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.start_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.start_date","typeLabel":"string\u003cdate> | null"},"end_date":{"oneOf":[{"type":"string","format":"date","description":"`YYYY-MM-DD`, not before `start_date`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.end_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"`YYYY-MM-DD`, not before `start_date`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.end_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.end_date","typeLabel":"string\u003cdate> | null"},"start_time":{"oneOf":[{"type":"string","pattern":"^\\d{2}:\\d{2}$","description":"`HH:MM`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.start_time.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^\\d{2}:\\d{2}$","description":"`HH:MM`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.start_time.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.start_time","typeLabel":"string | null"},"end_time":{"oneOf":[{"type":"string","pattern":"^\\d{2}:\\d{2}$","description":"`HH:MM`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.end_time.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^\\d{2}:\\d{2}$","description":"`HH:MM`.","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.end_time.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0.end_time","typeLabel":"string | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.0","typeLabel":"object"},{"type":"null","description":"Required on `EVENT` and `OFFER`.","properties":{"title":{"oneOf":[{"type":"string","maxLength":58},{"type":"null","maxLength":58}]},"start_date":{"oneOf":[{"type":"string","format":"date","description":"`YYYY-MM-DD`."},{"type":"null","format":"date","description":"`YYYY-MM-DD`."}]},"end_date":{"oneOf":[{"type":"string","format":"date","description":"`YYYY-MM-DD`, not before `start_date`."},{"type":"null","format":"date","description":"`YYYY-MM-DD`, not before `start_date`."}]},"start_time":{"oneOf":[{"type":"string","pattern":"^\\d{2}:\\d{2}$","description":"`HH:MM`."},{"type":"null","pattern":"^\\d{2}:\\d{2}$","description":"`HH:MM`."}]},"end_time":{"oneOf":[{"type":"string","pattern":"^\\d{2}:\\d{2}$","description":"`HH:MM`."},{"type":"null","pattern":"^\\d{2}:\\d{2}$","description":"`HH:MM`."}]}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.event","typeLabel":"object | null"},"offer":{"oneOf":[{"type":"object","description":"`OFFER` only.","properties":{"coupon_code":{"oneOf":[{"type":"string","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.coupon_code.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.coupon_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.coupon_code","typeLabel":"string | null"},"redeem_online_url":{"oneOf":[{"type":"string","format":"uri","maxLength":2048,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.redeem_online_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","maxLength":2048,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.redeem_online_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.redeem_online_url","typeLabel":"string\u003curi> | null"},"terms_conditions":{"oneOf":[{"type":"string","maxLength":5000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.terms_conditions.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":5000,"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.terms_conditions.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0.terms_conditions","typeLabel":"string | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.0","typeLabel":"object"},{"type":"null","description":"`OFFER` only.","properties":{"coupon_code":{"oneOf":[{"type":"string"},{"type":"null"}]},"redeem_online_url":{"oneOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null","format":"uri","maxLength":2048}]},"terms_conditions":{"oneOf":[{"type":"string","maxLength":5000},{"type":"null","maxLength":5000}]}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer.oneOf.1","typeLabel":"null"}],"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11.offer","typeLabel":"object | null"}},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.11","typeLabel":"Google Business Profile · object"},{"type":"object","title":"Telegram","description":"Per-network settings of one destination. Pick the shape of the destination's network. Keys without a rule are dropped. Every known key is validated whatever the network, but only the keys of the destination's network are used when publishing. On update, `meta` is merged with the stored settings: send `null` for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send `true` or `false`); `thread_replies` replaces the whole list; `poll` is merged key by key, its `options` replaced as a list. Required to schedule or publish: TikTok `privacy_level`, Pinterest `board_id`, Discord `channel_id`, Google Business `event` on `EVENT`/`OFFER`, YouTube a title (`title` or the first line of the text), X `poll.options` (2 or more), `poll.duration_minutes` and a question (the post `content`) on `x_poll`. `GET /content-types` lists the unconditional ones (TikTok, Pinterest, Discord) per network as `required_meta`.","properties":{},"uniqueKey":"destinations.items.[INDEX].meta.oneOf.12","typeLabel":"Telegram · object"}],"uniqueKey":"destinations.items.[INDEX].meta","typeLabel":"X · object | Bluesky · object | Mastodon · object | TikTok · object | Pinterest · object | Discord · object | YouTube · object | Instagram · object | Threads · object | Facebook · object | LinkedIn · object | Google Business Profile · object | Telegram · object"}},"uniqueKey":"destinations.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"destinations","typeLabel":"object[]"},"content":{"oneOf":[{"type":"string","maxLength":25000,"description":"Shared text, at most 25000 characters. When `status` is `scheduled` or `publishing` it must also fit each account's limit (`max_content_length` of the social account, for example 280 on X or 25000 for X accounts with long posts, 300 on Bluesky, 500 on Mastodon including the content warning), measured on the text the network receives. A scheduled or published post needs text or media.","uniqueKey":"content.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":25000,"description":"Shared text, at most 25000 characters. When `status` is `scheduled` or `publishing` it must also fit each account's limit (`max_content_length` of the social account, for example 280 on X or 25000 for X accounts with long posts, 300 on Bluesky, 500 on Mastodon including the content warning), measured on the text the network receives. A scheduled or published post needs text or media.","uniqueKey":"content.oneOf.1","typeLabel":"null"}],"uniqueKey":"content","typeLabel":"string | null"},"media":{"type":"array","items":{"type":"object","description":"One media item to put on a post. Give **exactly one** of `upload_token`, `url` or `id`, otherwise the request fails with `Each media item needs exactly one of upload_token, url or id.`","properties":{"upload_token":{"type":"string","format":"uuid","description":"Token from `POST /uploads` or a signed upload URL. Single use: the first post that takes it consumes it. Kept 24 hours.","uniqueKey":"media.items.[INDEX].upload_token","typeLabel":"string\u003cuuid>"},"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public `http` or `https` URL of the file itself. Downloaded once per request; redirects are not followed and private hosts are refused.","uniqueKey":"media.items.[INDEX].url","typeLabel":"string\u003curi>"},"id":{"type":"string","format":"uuid","description":"Id of a media item already in this workspace (for example `media[].id` of another post). The file is copied.","uniqueKey":"media.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"alt":{"type":"string","maxLength":2000,"description":"Alt text shorthand. Applies to images only; `meta.alt_text` wins when both are sent.","uniqueKey":"media.items.[INDEX].alt","typeLabel":"string"},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap.","uniqueKey":"media.items.[INDEX].meta.alt_text","typeLabel":"string"},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped.","isRequired":true,"uniqueKey":"media.items.[INDEX].meta.user_tags.items.[INDEX].username","typeLabel":"string"},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1.","isRequired":true,"uniqueKey":"media.items.[INDEX].meta.user_tags.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1.","isRequired":true,"uniqueKey":"media.items.[INDEX].meta.user_tags.items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"media.items.[INDEX].meta.user_tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"media.items.[INDEX].meta.user_tags","typeLabel":"object[]"},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video.","uniqueKey":"media.items.[INDEX].meta.cover_offset_ms","typeLabel":"integer"}},"uniqueKey":"media.items.[INDEX].meta","typeLabel":"object"}},"examples":[{"url":"https://example.com/launch.jpg","alt":"Product launch banner"}],"uniqueKey":"media.items.[INDEX]","typeLabel":"object"},"description":"Shared media. Media in order. Each item is one of `upload_token`, `url` or `id`. Types the channel does not accept are refused.","uniqueKey":"media","typeLabel":"object[]"},"scheduled_at":{"oneOf":[{"type":"string","format":"date-time","description":"When to publish, for `status: scheduled`. Any date string; must be in the future and before `2038-01-19`. Cannot be combined with `queue`. Required with `status: scheduled` unless `queue` is sent.","uniqueKey":"scheduled_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When to publish, for `status: scheduled`. Any date string; must be in the future and before `2038-01-19`. Cannot be combined with `queue`. Required with `status: scheduled` unless `queue` is sent.","uniqueKey":"scheduled_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"scheduled_at","typeLabel":"string\u003cdate-time> | null"},"queue":{"oneOf":[{"type":"string","enum":["next","top",null],"description":"Queue position, only with `status: scheduled`. `next` takes the channel's first free slot; `top` takes its first slot and moves the queued posts behind it to the next gap. Every channel must have posting times (`has_posting_schedule`). Cannot be combined with `scheduled_at`.","uniqueKey":"queue.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["next","top",null],"description":"Queue position, only with `status: scheduled`. `next` takes the channel's first free slot; `top` takes its first slot and moves the queued posts behind it to the next gap. Every channel must have posting times (`has_posting_schedule`). Cannot be combined with `scheduled_at`.","uniqueKey":"queue.oneOf.1","typeLabel":"null"}],"uniqueKey":"queue","typeLabel":"enum\u003cstring> | null"},"label_ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"label_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Labels of this workspace.","uniqueKey":"label_ids","typeLabel":"string\u003cuuid>[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":"scheduled","queue":"next","content":"Our October changelog is live.","media":[{"upload_token":"4f6c2b1e-8d3a-4e5f-9a7b-1c2d3e4f5a6b","alt":"Changelog cover"}],"destinations":[{"social_account_id":"9c8b7a65-4d3e-4f2a-8b1c-0d9e8f7a6b54","content_type":"x_post"},{"social_account_id":"9c8b7a65-5e4f-4a3b-9c2d-1e0f9a8b7c65","content_type":"pinterest_pin","content":"Everything we shipped in October, in one pin.","meta":{"board_id":"1022106146620830917","title":"October changelog","link":"https://chatclean.com.br/blog"}}]},"examples":{"Example":{"title":"Example","value":{"status":"scheduled","queue":"next","content":"Our October changelog is live.","media":[{"upload_token":"4f6c2b1e-8d3a-4e5f-9a7b-1c2d3e4f5a6b","alt":"Changelog cover"}],"destinations":[{"social_account_id":"9c8b7a65-4d3e-4f2a-8b1c-0d9e8f7a6b54","content_type":"x_post"},{"social_account_id":"9c8b7a65-5e4f-4a3b-9c2d-1e0f9a8b7c65","content_type":"pinterest_pin","content":"Everything we shipped in October, in one pin.","meta":{"board_id":"1022106146620830917","title":"October changelog","link":"https://chatclean.com.br/blog"}}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"2fc28002-79dd-4f57-817e-6da6b7334a19":{"description":"The created posts.","content":{"application/json":{"schema":{"type":"object","properties":{"posts":{"type":"array","items":{"type":"object","description":"A post on one channel. Posts created together from several channels are independent posts that share a `post_group_id`.","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"posts.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"post_group_id":{"oneOf":[{"type":"string","format":"uuid","description":"Shared by the posts created in one batch.","uniqueKey":"posts.items.[INDEX].post_group_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Shared by the posts created in one batch.","uniqueKey":"posts.items.[INDEX].post_group_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].post_group_id","typeLabel":"string\u003cuuid> | null"},"author":{"oneOf":[{"type":"object","description":"A workspace member. Only the id and name are exposed.","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"posts.items.[INDEX].author.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","uniqueKey":"posts.items.[INDEX].author.oneOf.0.name","typeLabel":"string"}},"uniqueKey":"posts.items.[INDEX].author.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"posts.items.[INDEX].author.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].author","typeLabel":"object | null"},"content":{"oneOf":[{"type":"string","description":"Post text, stored as sent (posts written in the app hold the editor's HTML).","uniqueKey":"posts.items.[INDEX].content.oneOf.0","typeLabel":"string"},{"type":"null","description":"Post text, stored as sent (posts written in the app hold the editor's HTML).","uniqueKey":"posts.items.[INDEX].content.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].content","typeLabel":"string | null"},"media":{"oneOf":[{"type":"array","items":{"type":"object","description":"A media item as stored on a post.","properties":{"id":{"type":"string","format":"uuid","description":"Media id. Pass it as `media[].id` to reuse the file on another post.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"path":{"type":"string","description":"Storage path, `medias/{uuid}.{ext}`.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].path","typeLabel":"string"},"url":{"type":"string","format":"uri","description":"Public URL of the file.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].url","typeLabel":"string\u003curi>"},"type":{"oneOf":[{"type":"string","enum":["image","video","document",null],"description":"`null` on older items stored without a type.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["image","video","document",null],"description":"`null` on older items stored without a type.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].type.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].type","typeLabel":"enum\u003cstring> | null"},"mime_type":{"oneOf":[{"type":"string","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].mime_type.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].mime_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].mime_type","typeLabel":"string | null"},"original_filename":{"oneOf":[{"type":"string","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].original_filename.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].original_filename.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].original_filename","typeLabel":"string | null"},"size":{"oneOf":[{"type":"integer","description":"Size in bytes.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].size.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Size in bytes.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].size.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].size","typeLabel":"integer | null"},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].meta.alt_text","typeLabel":"string"},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped.","isRequired":true,"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].meta.user_tags.items.[INDEX].username","typeLabel":"string"},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1.","isRequired":true,"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].meta.user_tags.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1.","isRequired":true,"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].meta.user_tags.items.[INDEX].y","typeLabel":"number"}},"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].meta.user_tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].meta.user_tags","typeLabel":"object[]"},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].meta.cover_offset_ms","typeLabel":"integer"}},"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].meta","typeLabel":"object"},"source":{"oneOf":[{"type":"string","enum":["ai","unsplash","google_drive","google_photos","canva",null],"description":"Where the file came from in the app. Present only on items added from one of these sources.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].source.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["ai","unsplash","google_drive","google_photos","canva",null],"description":"Where the file came from in the app. Present only on items added from one of these sources.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].source","typeLabel":"enum\u003cstring> | null"},"source_meta":{"oneOf":[{"type":"object","description":"Details from that source. Present only when the source gave any.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].source_meta.oneOf.0","typeLabel":"object"},{"type":"null","description":"Details from that source. Present only when the source gave any.","uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].source_meta.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX].source_meta","typeLabel":"object | null"}},"examples":[{"id":"9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f","path":"medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","url":"https://example.com/medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","type":"image","mime_type":"image/jpeg","original_filename":"launch.jpg","size":482113,"meta":{"width":1080,"height":1350,"alt_text":"Product launch banner"}}],"uniqueKey":"posts.items.[INDEX].media.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"posts.items.[INDEX].media.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","description":"A media item as stored on a post.","properties":{"id":{"type":"string","format":"uuid","description":"Media id. Pass it as `media[].id` to reuse the file on another post."},"path":{"type":"string","description":"Storage path, `medias/{uuid}.{ext}`."},"url":{"type":"string","format":"uri","description":"Public URL of the file."},"type":{"oneOf":[{"type":"string","enum":["image","video","document",null],"description":"`null` on older items stored without a type."},{"type":"null","enum":["image","video","document",null],"description":"`null` on older items stored without a type."}]},"mime_type":{"oneOf":[{"type":"string"},{"type":"null"}]},"original_filename":{"oneOf":[{"type":"string"},{"type":"null"}]},"size":{"oneOf":[{"type":"integer","description":"Size in bytes."},{"type":"null","description":"Size in bytes."}]},"meta":{"type":"object","description":"Editable settings of one media item. Other keys the server measured (for example `width`, `height`, `duration`) may also appear in responses.","properties":{"alt_text":{"type":"string","maxLength":2000,"description":"Accessibility description. Applies to images; each network truncates it to its own cap."},"user_tags":{"type":"array","maxItems":20,"description":"People tagged on an Instagram image.","items":{"type":"object","required":["username","x","y"],"properties":{"username":{"type":"string","pattern":"^@?[A-Za-z0-9._]{1,30}$","description":"Public Instagram username. A leading `@` is dropped."},"x":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the left edge, 0 to 1."},"y":{"type":"number","minimum":0,"maximum":1,"description":"Offset from the top edge, 0 to 1."}}}},"cover_offset_ms":{"type":"integer","minimum":0,"description":"Video frame used as the cover, in milliseconds from the start. Cannot pass the end of the video."}}},"source":{"oneOf":[{"type":"string","enum":["ai","unsplash","google_drive","google_photos","canva",null],"description":"Where the file came from in the app. Present only on items added from one of these sources."},{"type":"null","enum":["ai","unsplash","google_drive","google_photos","canva",null],"description":"Where the file came from in the app. Present only on items added from one of these sources."}]},"source_meta":{"oneOf":[{"type":"object","description":"Details from that source. Present only when the source gave any."},{"type":"null","description":"Details from that source. Present only when the source gave any."}]}},"examples":[{"id":"9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f","path":"medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","url":"https://example.com/medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","type":"image","mime_type":"image/jpeg","original_filename":"launch.jpg","size":482113,"meta":{"width":1080,"height":1350,"alt_text":"Product launch banner"}}]},"uniqueKey":"posts.items.[INDEX].media.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].media","typeLabel":"object[] | null"},"status":{"type":"string","enum":["draft","pending_approval","scheduled","publishing","published","failed"],"description":"Lifecycle of the post in PostClean. `pending_approval` is a post a member who needs approval asked to schedule or publish. The outcome on the network is `publish_status`.","uniqueKey":"posts.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"schedule_mode":{"oneOf":[{"type":"string","enum":["queue","custom",null],"description":"`queue`: the post holds a slot of the channel's posting schedule. `custom`: it is scheduled at its own time.","uniqueKey":"posts.items.[INDEX].schedule_mode.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["queue","custom",null],"description":"`queue`: the post holds a slot of the channel's posting schedule. `custom`: it is scheduled at its own time.","uniqueKey":"posts.items.[INDEX].schedule_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].schedule_mode","typeLabel":"enum\u003cstring> | null"},"scheduled_at":{"oneOf":[{"type":"string","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].scheduled_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].scheduled_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].scheduled_at","typeLabel":"string | null"},"published_at":{"oneOf":[{"type":"string","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].published_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].published_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].published_at","typeLabel":"string | null"},"approval_requested_by":{"oneOf":[{"type":"object","description":"Who asked for approval (not always the author).","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"posts.items.[INDEX].approval_requested_by.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","uniqueKey":"posts.items.[INDEX].approval_requested_by.oneOf.0.name","typeLabel":"string"}},"uniqueKey":"posts.items.[INDEX].approval_requested_by.oneOf.0","typeLabel":"object"},{"type":"null","description":"Who asked for approval (not always the author).","uniqueKey":"posts.items.[INDEX].approval_requested_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].approval_requested_by","typeLabel":"object | null"},"approval_requested_at":{"oneOf":[{"type":"string","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].approval_requested_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].approval_requested_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].approval_requested_at","typeLabel":"string | null"},"approved_by":{"oneOf":[{"type":"object","description":"A workspace member. Only the id and name are exposed.","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"posts.items.[INDEX].approved_by.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","uniqueKey":"posts.items.[INDEX].approved_by.oneOf.0.name","typeLabel":"string"}},"uniqueKey":"posts.items.[INDEX].approved_by.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"posts.items.[INDEX].approved_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].approved_by","typeLabel":"object | null"},"approved_at":{"oneOf":[{"type":"string","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].approved_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].approved_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].approved_at","typeLabel":"string | null"},"recurrence":{"oneOf":[{"type":"object","description":"Repeat rule, or `null`.","properties":{"interval":{"type":"integer","uniqueKey":"posts.items.[INDEX].recurrence.oneOf.0.interval","typeLabel":"integer"},"frequency":{"type":"string","enum":["day","week","month","year"],"uniqueKey":"posts.items.[INDEX].recurrence.oneOf.0.frequency","typeLabel":"enum\u003cstring>"},"remaining":{"oneOf":[{"type":"integer","description":"Repeats left after the next one.","uniqueKey":"posts.items.[INDEX].recurrence.oneOf.0.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Repeats left after the next one.","uniqueKey":"posts.items.[INDEX].recurrence.oneOf.0.remaining.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].recurrence.oneOf.0.remaining","typeLabel":"integer | null"}},"uniqueKey":"posts.items.[INDEX].recurrence.oneOf.0","typeLabel":"object"},{"type":"null","description":"Repeat rule, or `null`.","properties":{"interval":{"type":"integer"},"frequency":{"type":"string","enum":["day","week","month","year"]},"remaining":{"oneOf":[{"type":"integer","description":"Repeats left after the next one."},{"type":"null","description":"Repeats left after the next one."}]}},"uniqueKey":"posts.items.[INDEX].recurrence.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].recurrence","typeLabel":"object | null"},"origin":{"type":"string","enum":["trypost","network"],"description":"`network` for posts imported from the network (published outside PostClean).","uniqueKey":"posts.items.[INDEX].origin","typeLabel":"enum\u003cstring>"},"publish_status":{"type":"string","enum":["pending","publishing","retrying","pending_review","published","failed","rejected"],"description":"Publishing state on the network. `pending` until the post is sent; `retrying` waits for a retry after a network limit or a temporary network problem (such as a LinkedIn post not yet ready for its comment); `pending_review` and `rejected` come from networks that review posts (Google Business).","uniqueKey":"posts.items.[INDEX].publish_status","typeLabel":"enum\u003cstring>"},"platform":{"oneOf":[{"type":"string","description":"Network of the post's channel.","enum":["linkedin","linkedin-page","x","tiktok","youtube","facebook","instagram","instagram-facebook","threads","pinterest","bluesky","mastodon","telegram","discord","google_business"],"uniqueKey":"posts.items.[INDEX].platform.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Network of the post's channel.","uniqueKey":"posts.items.[INDEX].platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].platform","typeLabel":"enum\u003cstring> | null"},"content_type":{"oneOf":[{"type":"string","description":"Post format on one network. It must belong to the destination's network. `GET /content-types` lists the formats of each network with their media rules. Instagram and Facebook stories publish no text. An X poll (`x_poll`) takes no media; its choices and length are in `meta.poll`.","enum":["instagram_feed","instagram_reel","instagram_story","linkedin_post","linkedin_page_post","facebook_post","facebook_reel","facebook_story","tiktok_video","tiktok_photo","youtube_short","x_post","x_poll","threads_post","threads_ghost_post","pinterest_pin","pinterest_video_pin","pinterest_carousel","bluesky_post","mastodon_post","telegram_post","discord_message","google_business_post"],"uniqueKey":"posts.items.[INDEX].content_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"posts.items.[INDEX].content_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].content_type","typeLabel":"enum\u003cstring> | null"},"meta":{"oneOf":[{"type":"object","maxItems":0,"description":"Stored per-network settings (see `PlatformMeta`). Empty settings may serialize as an empty array.","uniqueKey":"posts.items.[INDEX].meta.oneOf.0","typeLabel":"object"},{"type":"array","maxItems":0,"description":"Stored per-network settings (see `PlatformMeta`). Empty settings may serialize as an empty array.","uniqueKey":"posts.items.[INDEX].meta.oneOf.1","typeLabel":"array"},{"type":"null","maxItems":0,"description":"Stored per-network settings (see `PlatformMeta`). Empty settings may serialize as an empty array.","uniqueKey":"posts.items.[INDEX].meta.oneOf.2","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].meta","typeLabel":"object | array | null"},"platform_url":{"oneOf":[{"type":"string","description":"Link to the published post on the network.","uniqueKey":"posts.items.[INDEX].platform_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Link to the published post on the network.","uniqueKey":"posts.items.[INDEX].platform_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].platform_url","typeLabel":"string | null"},"error_message":{"oneOf":[{"type":"string","description":"Why publishing failed, when it did.","uniqueKey":"posts.items.[INDEX].error_message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why publishing failed, when it did.","uniqueKey":"posts.items.[INDEX].error_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].error_message","typeLabel":"string | null"},"display_name":{"oneOf":[{"type":"string","description":"Account name, kept even after the account is disconnected.","uniqueKey":"posts.items.[INDEX].display_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Account name, kept even after the account is disconnected.","uniqueKey":"posts.items.[INDEX].display_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].display_name","typeLabel":"string | null"},"display_username":{"oneOf":[{"type":"string","uniqueKey":"posts.items.[INDEX].display_username.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"posts.items.[INDEX].display_username.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].display_username","typeLabel":"string | null"},"display_avatar":{"oneOf":[{"type":"string","uniqueKey":"posts.items.[INDEX].display_avatar.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"posts.items.[INDEX].display_avatar.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].display_avatar","typeLabel":"string | null"},"social_account":{"oneOf":[{"type":"object","description":"The account, or `null` once it was removed (the `display_*` fields keep its name).","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.id","typeLabel":"string\u003cuuid>"},"platform":{"type":"string","enum":["linkedin","linkedin-page","x","tiktok","youtube","facebook","instagram","instagram-facebook","threads","pinterest","bluesky","mastodon","telegram","discord","google_business"],"description":"Network of a social account. `linkedin-page` is a LinkedIn company page, `instagram-facebook` an Instagram account connected through a Facebook Page.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.platform","typeLabel":"enum\u003cstring>"},"display_name":{"oneOf":[{"type":"string","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.display_name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.display_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.display_name","typeLabel":"string | null"},"username":{"oneOf":[{"type":"string","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.username.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.username.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.username","typeLabel":"string | null"},"status":{"type":"string","enum":["connected","disconnected","token_expired"],"uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.status","typeLabel":"enum\u003cstring>"},"has_posting_schedule":{"type":"boolean","description":"Whether the channel has posting times. Queueing a post (`queue`) needs them.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.has_posting_schedule","typeLabel":"boolean"},"timezone":{"type":"string","description":"IANA time zone of the channel. Queue slots and recurrence follow it.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.timezone","typeLabel":"string"},"posting_goal":{"oneOf":[{"type":"integer","description":"Posts per week the channel aims for.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.posting_goal.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Posts per week the channel aims for.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.posting_goal.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.posting_goal","typeLabel":"integer | null"},"max_content_length":{"type":"integer","description":"Text limit of this account, in characters. An X account with long posts gets 25000.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.max_content_length","typeLabel":"integer"},"long_posts":{"type":"boolean","description":"Whether this X account can publish long posts.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.long_posts","typeLabel":"boolean"},"verified_badge":{"oneOf":[{"type":"string","enum":["blue","business","government",null],"description":"X checkmark; `null` on other networks or unverified accounts. A badge alone does not mean long posts: read `long_posts`.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.verified_badge.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["blue","business","government",null],"description":"X checkmark; `null` on other networks or unverified accounts. A badge alone does not mean long posts: read `long_posts`.","uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.verified_badge.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].social_account.oneOf.0.verified_badge","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"posts.items.[INDEX].social_account.oneOf.0","typeLabel":"object"},{"type":"null","description":"The account, or `null` once it was removed (the `display_*` fields keep its name).","uniqueKey":"posts.items.[INDEX].social_account.oneOf.1","typeLabel":"null"}],"uniqueKey":"posts.items.[INDEX].social_account","typeLabel":"object | null"},"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"posts.items.[INDEX].labels.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","uniqueKey":"posts.items.[INDEX].labels.items.[INDEX].name","typeLabel":"string"},"color":{"type":"string","description":"Hex color, `#RRGGBB`.","examples":["#2563EB"],"uniqueKey":"posts.items.[INDEX].labels.items.[INDEX].color","typeLabel":"string"},"created_at":{"type":"string","description":"UTC, format `Y-m-d H:i:s`.","examples":["2026-09-01 10:00:00"],"uniqueKey":"posts.items.[INDEX].labels.items.[INDEX].created_at","typeLabel":"string"},"updated_at":{"type":"string","description":"UTC, format `Y-m-d H:i:s`.","examples":["2026-09-01 10:00:00"],"uniqueKey":"posts.items.[INDEX].labels.items.[INDEX].updated_at","typeLabel":"string"}},"uniqueKey":"posts.items.[INDEX].labels.items.[INDEX]","typeLabel":"object"},"uniqueKey":"posts.items.[INDEX].labels","typeLabel":"object[]"},"created_at":{"type":"string","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].created_at","typeLabel":"string"},"updated_at":{"type":"string","description":"UTC, format `Y-m-d H:i:s`.","uniqueKey":"posts.items.[INDEX].updated_at","typeLabel":"string"}},"examples":[{"id":"9d3c1f2a-6b4e-4c8a-9f1e-2a7b5c8d0e41","post_group_id":"9d3c1f29-e0a1-4b7c-8d2e-5f6a7b8c9d03","author":{"id":"9b1e2d3c-4f5a-4b6c-8d7e-9f0a1b2c3d4e","name":"Ana Souza"},"content":"We just shipped scheduled threads. Here is how they work.","media":[{"id":"9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f","path":"medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","url":"https://example.com/medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","type":"image","mime_type":"image/jpeg","original_filename":"launch.jpg","size":482113,"meta":{"width":1080,"height":1350,"alt_text":"Product launch banner"}}],"status":"scheduled","schedule_mode":"custom","scheduled_at":"2026-10-12 14:00:00","published_at":null,"approval_requested_by":null,"approval_requested_at":null,"approved_by":null,"approved_at":null,"recurrence":null,"origin":"trypost","publish_status":"pending","platform":"x","content_type":"x_post","meta":{"thread_replies":[{"text":"2/ Replies publish under the first post.","media":[]}]},"platform_url":null,"error_message":null,"display_name":"PostClean","display_username":"postclean","display_avatar":"https://pbs.twimg.com/profile_images/1790000000000000000/avatar_400x400.jpg","social_account":{"id":"9c8b7a65-4d3e-4f2a-8b1c-0d9e8f7a6b54","platform":"x","display_name":"PostClean","username":"postclean","status":"connected","has_posting_schedule":true,"timezone":"America/Sao_Paulo","posting_goal":5,"max_content_length":280,"long_posts":false,"verified_badge":null},"labels":[{"id":"9c0d1e2f-3a4b-4c5d-8e6f-7a8b9c0d1e2f","name":"Launch","color":"#2563EB","created_at":"2026-09-01 10:00:00","updated_at":"2026-09-01 10:00:00"}],"created_at":"2026-10-08 13:20:11","updated_at":"2026-10-08 13:20:11"}],"uniqueKey":"posts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"posts","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"posts":[{"id":"9d3c1f2a-6b4e-4c8a-9f1e-2a7b5c8d0e41","post_group_id":"9d3c1f29-e0a1-4b7c-8d2e-5f6a7b8c9d03","author":{"id":"9b1e2d3c-4f5a-4b6c-8d7e-9f0a1b2c3d4e","name":"Ana Souza"},"content":"Our October changelog is live.","media":[{"id":"9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f","path":"medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","url":"https://example.com/medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","type":"image","mime_type":"image/jpeg","original_filename":"launch.jpg","size":482113,"meta":{"width":1080,"height":1350,"alt_text":"Changelog cover"}}],"status":"scheduled","schedule_mode":"queue","scheduled_at":"2026-10-12 14:00:00","published_at":null,"approval_requested_by":null,"approval_requested_at":null,"approved_by":null,"approved_at":null,"recurrence":null,"origin":"trypost","publish_status":"pending","platform":"x","content_type":"x_post","meta":{"thread_replies":[{"text":"2/ Replies publish under the first post.","media":[]}]},"platform_url":null,"error_message":null,"display_name":"PostClean","display_username":"postclean","display_avatar":"https://pbs.twimg.com/profile_images/1790000000000000000/avatar_400x400.jpg","social_account":{"id":"9c8b7a65-4d3e-4f2a-8b1c-0d9e8f7a6b54","platform":"x","display_name":"PostClean","username":"postclean","status":"connected","has_posting_schedule":true,"timezone":"America/Sao_Paulo","posting_goal":5,"max_content_length":280,"long_posts":false,"verified_badge":null},"labels":[{"id":"9c0d1e2f-3a4b-4c5d-8e6f-7a8b9c0d1e2f","name":"Launch","color":"#2563EB","created_at":"2026-09-01 10:00:00","updated_at":"2026-09-01 10:00:00"}],"created_at":"2026-10-08 13:20:11","updated_at":"2026-10-08 13:20:11"},{"id":"9d3c1f2a-7c5f-4d9b-8e2f-3b8c6d9e1f52","post_group_id":"9d3c1f29-e0a1-4b7c-8d2e-5f6a7b8c9d03","author":{"id":"9b1e2d3c-4f5a-4b6c-8d7e-9f0a1b2c3d4e","name":"Ana Souza"},"content":"Everything we shipped in October, in one pin.","media":[{"id":"9d3c1f31-9b0c-4d1e-8f2a-3b4c5d6e7f80","path":"medias/9d3c1f31-9b0c-4d1e-8f2a-3b4c5d6e7f80.jpg","url":"https://example.com/medias/9d3c1f31-9b0c-4d1e-8f2a-3b4c5d6e7f80.jpg","type":"image","mime_type":"image/jpeg","original_filename":"launch.jpg","size":482113,"meta":{"width":1080,"height":1350,"alt_text":"Changelog cover"}}],"status":"scheduled","schedule_mode":"queue","scheduled_at":"2026-10-12 14:00:00","published_at":null,"approval_requested_by":null,"approval_requested_at":null,"approved_by":null,"approved_at":null,"recurrence":null,"origin":"trypost","publish_status":"pending","platform":"pinterest","content_type":"pinterest_pin","meta":{"board_id":"1022106146620830917","title":"October changelog","link":"https://chatclean.com.br/blog"},"platform_url":null,"error_message":null,"display_name":"PostClean","display_username":"postclean","display_avatar":null,"social_account":{"id":"9c8b7a65-5e4f-4a3b-9c2d-1e0f9a8b7c65","platform":"pinterest","display_name":"PostClean","username":"postclean","status":"connected","has_posting_schedule":true,"timezone":"UTC","posting_goal":5,"max_content_length":800,"long_posts":false,"verified_badge":null},"labels":[{"id":"9c0d1e2f-3a4b-4c5d-8e6f-7a8b9c0d1e2f","name":"Launch","color":"#2563EB","created_at":"2026-09-01 10:00:00","updated_at":"2026-09-01 10:00:00"}],"created_at":"2026-10-08 13:20:11","updated_at":"2026-10-08 13:20:11"}]},"examples":{"Example":{"title":"Example","value":{"posts":[{"id":"9d3c1f2a-6b4e-4c8a-9f1e-2a7b5c8d0e41","post_group_id":"9d3c1f29-e0a1-4b7c-8d2e-5f6a7b8c9d03","author":{"id":"9b1e2d3c-4f5a-4b6c-8d7e-9f0a1b2c3d4e","name":"Ana Souza"},"content":"Our October changelog is live.","media":[{"id":"9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f","path":"medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","url":"https://example.com/medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg","type":"image","mime_type":"image/jpeg","original_filename":"launch.jpg","size":482113,"meta":{"width":1080,"height":1350,"alt_text":"Changelog cover"}}],"status":"scheduled","schedule_mode":"queue","scheduled_at":"2026-10-12 14:00:00","published_at":null,"approval_requested_by":null,"approval_requested_at":null,"approved_by":null,"approved_at":null,"recurrence":null,"origin":"trypost","publish_status":"pending","platform":"x","content_type":"x_post","meta":{"thread_replies":[{"text":"2/ Replies publish under the first post.","media":[]}]},"platform_url":null,"error_message":null,"display_name":"PostClean","display_username":"postclean","display_avatar":"https://pbs.twimg.com/profile_images/1790000000000000000/avatar_400x400.jpg","social_account":{"id":"9c8b7a65-4d3e-4f2a-8b1c-0d9e8f7a6b54","platform":"x","display_name":"PostClean","username":"postclean","status":"connected","has_posting_schedule":true,"timezone":"America/Sao_Paulo","posting_goal":5,"max_content_length":280,"long_posts":false,"verified_badge":null},"labels":[{"id":"9c0d1e2f-3a4b-4c5d-8e6f-7a8b9c0d1e2f","name":"Launch","color":"#2563EB","created_at":"2026-09-01 10:00:00","updated_at":"2026-09-01 10:00:00"}],"created_at":"2026-10-08 13:20:11","updated_at":"2026-10-08 13:20:11"},{"id":"9d3c1f2a-7c5f-4d9b-8e2f-3b8c6d9e1f52","post_group_id":"9d3c1f29-e0a1-4b7c-8d2e-5f6a7b8c9d03","author":{"id":"9b1e2d3c-4f5a-4b6c-8d7e-9f0a1b2c3d4e","name":"Ana Souza"},"content":"Everything we shipped in October, in one pin.","media":[{"id":"9d3c1f31-9b0c-4d1e-8f2a-3b4c5d6e7f80","path":"medias/9d3c1f31-9b0c-4d1e-8f2a-3b4c5d6e7f80.jpg","url":"https://example.com/medias/9d3c1f31-9b0c-4d1e-8f2a-3b4c5d6e7f80.jpg","type":"image","mime_type":"image/jpeg","original_filename":"launch.jpg","size":482113,"meta":{"width":1080,"height":1350,"alt_text":"Changelog cover"}}],"status":"scheduled","schedule_mode":"queue","scheduled_at":"2026-10-12 14:00:00","published_at":null,"approval_requested_by":null,"approval_requested_at":null,"approved_by":null,"approved_at":null,"recurrence":null,"origin":"trypost","publish_status":"pending","platform":"pinterest","content_type":"pinterest_pin","meta":{"board_id":"1022106146620830917","title":"October changelog","link":"https://chatclean.com.br/blog"},"platform_url":null,"error_message":null,"display_name":"PostClean","display_username":"postclean","display_avatar":null,"social_account":{"id":"9c8b7a65-5e4f-4a3b-9c2d-1e0f9a8b7c65","platform":"pinterest","display_name":"PostClean","username":"postclean","status":"connected","has_posting_schedule":true,"timezone":"UTC","posting_goal":5,"max_content_length":800,"long_posts":false,"verified_badge":null},"labels":[{"id":"9c0d1e2f-3a4b-4c5d-8e6f-7a8b9c0d1e2f","name":"Launch","color":"#2563EB","created_at":"2026-09-01 10:00:00","updated_at":"2026-09-01 10:00:00"}],"created_at":"2026-10-08 13:20:11","updated_at":"2026-10-08 13:20:11"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"ebbb390c-d634-48f1-9713-324089c492b8":{"description":"Missing, invalid, revoked or expired API key. Bodies: `Unauthenticated.` (no key, or a key that is invalid or revoked), `Token expired.` (past its `expires_at`), `Token not found.` and `No workspace selected.` (the key is no longer bound to a workspace).","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Unauthenticated."},"examples":{"Example":{"title":"Example","value":{"message":"Unauthenticated."}}},"exampleType":"examples"}},"exampleType":"examples"},"1a8542da-2ed4-46be-ab0e-c3aefde2c3c3":{"description":"The workspace's account has no active subscription or trial. Body: `{\"message\": \"Active subscription required.\"}`.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Active subscription required."},"examples":{"Example":{"title":"Example","value":{"message":"Active subscription required."}}},"exampleType":"examples"}},"exampleType":"examples"},"88cddca4-68aa-4377-af15-532ab9c76435":{"description":"The request is not allowed. API keys work only for workspace admins (the account owner or a member marked as admin): otherwise every request returns `Insufficient workspace permissions.`. Other bodies: `Workspace access denied.` (the key's user left the workspace) and `Personal access token required.` (an MCP OAuth token was sent) and `This action is unauthorized.` (the note belongs to another member).","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"492f07e1-3b96-4810-9679-35ab66c8bdf8":{"description":"Another change to this post or its channel's queue is in progress. Retry.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"034aa2c0-13ad-4a12-9e76-d451ab3718b2":{"description":"Validation failed.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","errors":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"d202bdc3-7e5f-455a-9eb2-01410763305d":{"description":"Rate limit exceeded. Limits: 60 requests per minute per workspace.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","const":"rate_limit_exceeded","uniqueKey":"name","typeLabel":"string"},"message":{"type":"string","examples":["Rate limit exceeded. Please retry after 30 seconds."],"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"rate_limit_exceeded","message":"Rate limit exceeded. Please retry after 30 seconds."}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d0a8d57f-37a0-4edf-ac4c-20cd3a8776da":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Workspace API key from Settings → API Keys.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"afcb1dae-d766-4bbd-a190-39a879d11552":{"url":"https://post.chatclean.com.br/api","description":"PostClean"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Workspace API key from Settings → API Keys.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Workspace API key from Settings → API Keys.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"chat-clean","siteName":"PostClean Docs","title":"Create posts in batch - PostClean Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T14:16:01.961Z","originalFileLocation":"api-reference/posts/create-posts-in-batch.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates one independent post per destination, as the app does when several channels are selected. The posts share a post_group_id. Each destination may override the shared content, media, content_type and meta. status: scheduled schedules every post at scheduled_at or in each channel\u0026#x27;s queue (queue: next or top). One specific slot (queue_slot) is not taken here: use POST /posts or PUT /channels/{account}/queue/slot. destinations[].meta follows the same per-network rules as a post\u0026#x27;s meta (see PlatformMeta), checked with the destination\u0026#x27;s network; errors are reported on destinations.N.meta.*. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as pending_approval.\">\u003cmeta data-mint-head name=\"application-name\" content=\"PostClean Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create posts in batch - PostClean Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates one independent post per destination, as the app does when several channels are selected. The posts share a post_group_id. Each destination may override the shared content, media, content_type and meta. status: scheduled schedules every post at scheduled_at or in each channel\u0026#x27;s queue (queue: next or top). One specific slot (queue_slot) is not taken here: use POST /posts or PUT /channels/{account}/queue/slot. destinations[].meta follows the same per-network rules as a post\u0026#x27;s meta (see PlatformMeta), checked with the destination\u0026#x27;s network; errors are reported on destinations.N.meta.*. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as pending_approval.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PostClean Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://chat-clean.mintlify.site/_mintlify/api/og/v2?division=Posts\u0026amp;title=Create+posts+in+batch\u0026amp;description=Creates+one+independent+post+per+destination%2C+as+the+app+does+when+several+channels+are+selected.+The+posts+share+a+%60post_group_id%60.+Each+destination+may+overri\u0026amp;theme=c49b527881794ab1fc0f6bcf\u0026amp;signature=d7d8b04aa31148842c0da06d51e36f7276aa2276e1f2624c87169c3c0590e0dc\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create posts in batch - PostClean Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates one independent post per destination, as the app does when several channels are selected. The posts share a post_group_id. Each destination may override the shared content, media, content_type and meta. status: scheduled schedules every post at scheduled_at or in each channel\u0026#x27;s queue (queue: next or top). One specific slot (queue_slot) is not taken here: use POST /posts or PUT /channels/{account}/queue/slot. destinations[].meta follows the same per-network rules as a post\u0026#x27;s meta (see PlatformMeta), checked with the destination\u0026#x27;s network; errors are reported on destinations.N.meta.*. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as pending_approval.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://chat-clean.mintlify.site/_mintlify/api/og/v2?division=Posts\u0026amp;title=Create+posts+in+batch\u0026amp;description=Creates+one+independent+post+per+destination%2C+as+the+app+does+when+several+channels+are+selected.+The+posts+share+a+%60post_group_id%60.+Each+destination+may+overri\u0026amp;theme=c49b527881794ab1fc0f6bcf\u0026amp;signature=d7d8b04aa31148842c0da06d51e36f7276aa2276e1f2624c87169c3c0590e0dc\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/chat-clean/QF5i1RCqVwGpluZT/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PostClean Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1f4a34\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/posts/create-posts-in-batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.postclean.com.br/#organization\",\"name\":\"PostClean Docs\",\"url\":\"https://docs.postclean.com.br\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/chat-clean/aGFnoJWXeKN29AhB/logo/light.svg?fit=max\u0026auto=format\u0026n=aGFnoJWXeKN29AhB\u0026q=85\u0026s=e6706f33c16dba4b6f9197048cc03e4c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.postclean.com.br#website\",\"name\":\"PostClean Docs\",\"url\":\"https://docs.postclean.com.br\",\"publisher\":{\"@id\":\"https://docs.postclean.com.br/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch#webpage\",\"url\":\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch\",\"name\":\"Create posts in batch\",\"description\":\"Creates one independent post per destination, as the app does when several channels are selected. The posts share a post_group_id. Each destination may override the shared content, media, content_type and meta. status: scheduled schedules every post at scheduled_at or in each channel's queue (queue: next or top). One specific slot (queue_slot) is not taken here: use POST /posts or PUT /channels/{account}/queue/slot. destinations[].meta follows the same per-network rules as a post's meta (see PlatformMeta), checked with the destination's network; errors are reported on destinations.N.meta.*. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as pending_approval.\",\"dateModified\":\"2026-11-06T14:16:01.961Z\",\"isPartOf\":{\"@id\":\"https://docs.postclean.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Posts\",\"item\":\"https://docs.postclean.com.br/api-reference/posts/list-posts\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create posts in batch\",\"item\":\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch#apireference\",\"headline\":\"Create posts in batch\",\"name\":\"Create posts in batch\",\"description\":\"Creates one independent post per destination, as the app does when several channels are selected. The posts share a post_group_id. Each destination may override the shared content, media, content_type and meta. status: scheduled schedules every post at scheduled_at or in each channel's queue (queue: next or top). One specific slot (queue_slot) is not taken here: use POST /posts or PUT /channels/{account}/queue/slot. destinations[].meta follows the same per-network rules as a post's meta (see PlatformMeta), checked with the destination's network; errors are reported on destinations.N.meta.*. To schedule or publish, every destination needs its required settings and text or media. API keys belong to workspace admins, so these posts are never stored as pending_approval.\",\"url\":\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.postclean.com.br/api-reference/posts/create-posts-in-batch#webpage\"},\"dateModified\":\"2026-11-06T14:16:01.961Z\",\"publisher\":{\"@id\":\"https://docs.postclean.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.postclean.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PostClean Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PostClean Docs","nav":{"global":null,"tabs":[{"tab":"Documentação","icon":"book-open","pages":[{"title":"Documentação","href":""}]},{"tab":"Referência da API","icon":"code","groups":[{"group":"Visão geral","pages":[{"title":"Introdução","icon":"book-open","href":"/api-reference/introduction"},{"title":"Publicação","icon":"paper-plane","href":"/api-reference/guides/posting"},{"title":"Envio de mídia","icon":"image","href":"/api-reference/guides/media-uploads"}]},{"group":"Posts","pages":[{"title":"List posts","deprecated":null,"version":null,"openapi":"/openapi.json get /posts","href":"/api-reference/posts/list-posts"},{"title":"Create post","description":"Creates one post on one social account.\n\n- `status: draft` (default) saves a draft.\n- `status: scheduled` with `scheduled_at` schedules it at that time; with `queue` (`next` or `top`) it takes a slot of the channel's posting schedule; with `queue_slot` it takes that exact free slot (from `GET /channels/{account}/queue/slots`).\n- `status: publishing` publishes it now.\n\nOmitted `content_type` is chosen like the app does: on Pinterest a video makes `pinterest_video_pin` and several images `pinterest_carousel`, on TikTok images only make `tiktok_photo`, every other network takes its default format.\n\nTo schedule or publish, the post needs its network's required settings in `meta` (see `PlatformMeta`). Sending `platforms` is refused with `422`; validation errors name the field directly (`meta.board_id`, `content_type`). API keys belong to workspace admins, who publish directly, so a post created through the API is never stored as `pending_approval`.\n\nTo post the same text on several channels at once, use `POST /posts/batch`.","deprecated":null,"version":null,"openapi":"/openapi.json post /posts","href":"/api-reference/posts/create-post"},{"title":"Create posts in batch","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/batch","href":"/api-reference/posts/create-posts-in-batch"},{"title":"Get post","description":"Returns one post with its channel and labels.","deprecated":null,"version":null,"openapi":"/openapi.json get /posts/{post}","href":"/api-reference/posts/get-post"},{"title":"Update post","deprecated":null,"version":null,"openapi":"/openapi.json put /posts/{post}","href":"/api-reference/posts/update-post"},{"title":"Delete post","deprecated":null,"version":null,"openapi":"/openapi.json delete /posts/{post}","href":"/api-reference/posts/delete-post"},{"title":"Get post metrics","deprecated":null,"version":null,"openapi":"/openapi.json get /posts/{post}/metrics","href":"/api-reference/posts/get-post-metrics"},{"title":"Get post preview","deprecated":null,"version":null,"openapi":"/openapi.json get /posts/{post}/preview","href":"/api-reference/posts/get-post-preview"}]},{"group":"Notas de posts","pages":[{"title":"List post notes","deprecated":null,"version":null,"openapi":"/openapi.json get /posts/{post}/notes","href":"/api-reference/post-notes/list-post-notes"},{"title":"Create post note","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/{post}/notes","href":"/api-reference/post-notes/create-post-note"},{"title":"Update post note","deprecated":null,"version":null,"openapi":"/openapi.json put /posts/{post}/notes/{note}","href":"/api-reference/post-notes/update-post-note"},{"title":"Delete post note","deprecated":null,"version":null,"openapi":"/openapi.json delete /posts/{post}/notes/{note}","href":"/api-reference/post-notes/delete-post-note"}]},{"group":"Aprovações","pages":[{"title":"Approve post","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/{post}/approve","href":"/api-reference/approvals/approve-post"},{"title":"Reject post","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/{post}/reject","href":"/api-reference/approvals/reject-post"}]},{"group":"Recorrência","pages":[{"title":"Set post recurrence","deprecated":null,"version":null,"openapi":"/openapi.json patch /posts/{post}/recurrence","href":"/api-reference/recurrence/set-post-recurrence"},{"title":"Remove post recurrence","deprecated":null,"version":null,"openapi":"/openapi.json delete /posts/{post}/recurrence","href":"/api-reference/recurrence/remove-post-recurrence"}]},{"group":"Mídia e uploads","pages":[{"title":"Upload media","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/{post}/media","href":"/api-reference/media-and-uploads/upload-media"},{"title":"Attach media from upload","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/{post}/media/from-upload","href":"/api-reference/media-and-uploads/attach-media-from-upload"},{"title":"Attach media from URL","deprecated":null,"version":null,"openapi":"/openapi.json post /posts/{post}/media/from-url","href":"/api-reference/media-and-uploads/attach-media-from-url"},{"title":"Create upload","deprecated":null,"version":null,"openapi":"/openapi.json post /uploads","href":"/api-reference/media-and-uploads/create-upload"},{"title":"Upload to signed URL","deprecated":null,"version":null,"openapi":"/openapi.json post /uploads/{token}","href":"/api-reference/media-and-uploads/upload-to-signed-url"}]},{"group":"Contas sociais","pages":[{"title":"List social accounts","deprecated":null,"version":null,"openapi":"/openapi.json get /social-accounts","href":"/api-reference/social-accounts/list-social-accounts"},{"title":"List Pinterest boards","deprecated":null,"version":null,"openapi":"/openapi.json get /social-accounts/{account}/boards","href":"/api-reference/social-accounts/list-pinterest-boards"},{"title":"Create Pinterest board","deprecated":null,"version":null,"openapi":"/openapi.json post /social-accounts/{account}/boards","href":"/api-reference/social-accounts/create-pinterest-board"},{"title":"List Discord channels","deprecated":null,"version":null,"openapi":"/openapi.json get /social-accounts/{account}/channels","href":"/api-reference/social-accounts/list-discord-channels"},{"title":"Get TikTok creator info","deprecated":null,"version":null,"openapi":"/openapi.json get /social-accounts/{account}/tiktok-creator-info","href":"/api-reference/social-accounts/get-tiktok-creator-info"}]},{"group":"Canais","pages":[{"title":"Get posting schedule","deprecated":null,"version":null,"openapi":"/openapi.json get /channels/{account}/posting-schedule","href":"/api-reference/channels/get-posting-schedule"},{"title":"Update posting schedule","deprecated":null,"version":null,"openapi":"/openapi.json put /channels/{account}/posting-schedule","href":"/api-reference/channels/update-posting-schedule"},{"title":"Generate posting schedule","deprecated":null,"version":null,"openapi":"/openapi.json post /channels/{account}/posting-schedule/generate","href":"/api-reference/channels/generate-posting-schedule"},{"title":"Copy posting schedule","deprecated":null,"version":null,"openapi":"/openapi.json post /channels/{account}/posting-schedule/copy","href":"/api-reference/channels/copy-posting-schedule"},{"title":"List free queue slots","deprecated":null,"version":null,"openapi":"/openapi.json get /channels/{account}/queue/slots","href":"/api-reference/channels/list-free-queue-slots"},{"title":"Reorder queue","deprecated":null,"version":null,"openapi":"/openapi.json put /channels/{account}/queue/order","href":"/api-reference/channels/reorder-queue"},{"title":"Move post to queue slot","deprecated":null,"version":null,"openapi":"/openapi.json put /channels/{account}/queue/slot","href":"/api-reference/channels/move-post-to-queue-slot"}]},{"group":"Ideias","pages":[{"title":"List ideas","deprecated":null,"version":null,"openapi":"/openapi.json get /ideas","href":"/api-reference/ideas/list-ideas"},{"title":"Create idea","deprecated":null,"version":null,"openapi":"/openapi.json post /ideas","href":"/api-reference/ideas/create-idea"},{"title":"Delete ideas","deprecated":null,"version":null,"openapi":"/openapi.json delete /ideas","href":"/api-reference/ideas/delete-ideas"},{"title":"Get idea","deprecated":null,"version":null,"openapi":"/openapi.json get /ideas/{idea}","href":"/api-reference/ideas/get-idea"},{"title":"Update idea","deprecated":null,"version":null,"openapi":"/openapi.json put /ideas/{idea}","href":"/api-reference/ideas/update-idea"},{"title":"Delete idea","deprecated":null,"version":null,"openapi":"/openapi.json delete /ideas/{idea}","href":"/api-reference/ideas/delete-idea"},{"title":"Duplicate idea","deprecated":null,"version":null,"openapi":"/openapi.json post /ideas/{idea}/duplicate","href":"/api-reference/ideas/duplicate-idea"},{"title":"Move idea","deprecated":null,"version":null,"openapi":"/openapi.json put /ideas/{idea}/move","href":"/api-reference/ideas/move-idea"}]},{"group":"Etapas de ideias","pages":[{"title":"List idea stages","deprecated":null,"version":null,"openapi":"/openapi.json get /idea-stages","href":"/api-reference/idea-stages/list-idea-stages"},{"title":"Create idea stage","deprecated":null,"version":null,"openapi":"/openapi.json post /idea-stages","href":"/api-reference/idea-stages/create-idea-stage"},{"title":"Reorder idea stages","deprecated":null,"version":null,"openapi":"/openapi.json put /idea-stages/order","href":"/api-reference/idea-stages/reorder-idea-stages"},{"title":"Update idea stage","deprecated":null,"version":null,"openapi":"/openapi.json put /idea-stages/{ideaStage}","href":"/api-reference/idea-stages/update-idea-stage"},{"title":"Delete idea stage","deprecated":null,"version":null,"openapi":"/openapi.json delete /idea-stages/{ideaStage}","href":"/api-reference/idea-stages/delete-idea-stage"}]},{"group":"Análises","pages":[{"title":"Get workspace analytics","deprecated":null,"version":null,"openapi":"/openapi.json get /analytics","href":"/api-reference/analytics/get-workspace-analytics"},{"title":"Get publication analytics","deprecated":null,"version":null,"openapi":"/openapi.json get /analytics/publications/{publication}","href":"/api-reference/analytics/get-publication-analytics"},{"title":"Get channel insights","deprecated":null,"version":null,"openapi":"/openapi.json get /channels/{account}/insights","href":"/api-reference/analytics/get-channel-insights"},{"title":"List channel post performance","deprecated":null,"version":null,"openapi":"/openapi.json get /channels/{account}/insights/publications","href":"/api-reference/analytics/list-channel-post-performance"}]},{"group":"Etiquetas","pages":[{"title":"List labels","deprecated":null,"version":null,"openapi":"/openapi.json get /labels","href":"/api-reference/labels/list-labels"},{"title":"Create label","deprecated":null,"version":null,"openapi":"/openapi.json post /labels","href":"/api-reference/labels/create-label"},{"title":"Update label","deprecated":null,"version":null,"openapi":"/openapi.json put /labels/{label}","href":"/api-reference/labels/update-label"},{"title":"Delete label","deprecated":null,"version":null,"openapi":"/openapi.json delete /labels/{label}","href":"/api-reference/labels/delete-label"}]},{"group":"Assinaturas","pages":[{"title":"List signatures","deprecated":null,"version":null,"openapi":"/openapi.json get /signatures","href":"/api-reference/signatures/list-signatures"},{"title":"Create signature","deprecated":null,"version":null,"openapi":"/openapi.json post /signatures","href":"/api-reference/signatures/create-signature"},{"title":"Update signature","deprecated":null,"version":null,"openapi":"/openapi.json put /signatures/{signature}","href":"/api-reference/signatures/update-signature"},{"title":"Delete signature","deprecated":null,"version":null,"openapi":"/openapi.json delete /signatures/{signature}","href":"/api-reference/signatures/delete-signature"}]},{"group":"Workspace","pages":[{"title":"Get workspace","deprecated":null,"version":null,"openapi":"/openapi.json get /workspace","href":"/api-reference/workspace/get-workspace"}]},{"group":"Chaves de API","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi.json get /api-keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Create API key","deprecated":null,"version":null,"openapi":"/openapi.json post /api-keys","href":"/api-reference/api-keys/create-api-key"},{"title":"Delete API key","deprecated":null,"version":null,"openapi":"/openapi.json delete /api-keys/{apiToken}","href":"/api-reference/api-keys/delete-api-key"}]},{"group":"Webhooks","pages":[{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/openapi.json get /webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Get webhook","deprecated":null,"version":null,"openapi":"/openapi.json get /webhooks/{webhook}","href":"/api-reference/webhooks/get-webhook"},{"title":"Update webhook","deprecated":null,"version":null,"openapi":"/openapi.json put /webhooks/{webhook}","href":"/api-reference/webhooks/update-webhook"},{"title":"Delete webhook","deprecated":null,"version":null,"openapi":"/openapi.json delete /webhooks/{webhook}","href":"/api-reference/webhooks/delete-webhook"},{"title":"List webhook logs","deprecated":null,"version":null,"openapi":"/openapi.json get /webhooks/{webhook}/logs","href":"/api-reference/webhooks/list-webhook-logs"},{"title":"Replay webhook log","deprecated":null,"version":null,"openapi":"/openapi.json post /webhooks/{webhook}/logs/{webhookLog}/replay","href":"/api-reference/webhooks/replay-webhook-log"},{"title":"Rotate webhook secret","deprecated":null,"version":null,"openapi":"/openapi.json post /webhooks/{webhook}/rotate-secret","href":"/api-reference/webhooks/rotate-webhook-secret"},{"title":"Send webhook test","deprecated":null,"version":null,"openapi":"/openapi.json post /webhooks/{webhook}/send-test","href":"/api-reference/webhooks/send-webhook-test"}]},{"group":"Repost","pages":[{"title":"List repurpose source formats","deprecated":null,"version":null,"openapi":"/openapi.json get /repurpose-source-formats","href":"/api-reference/repurposes/list-repurpose-source-formats"},{"title":"List repurposes","deprecated":null,"version":null,"openapi":"/openapi.json get /repurposes","href":"/api-reference/repurposes/list-repurposes"},{"title":"Create repurpose","deprecated":null,"version":null,"openapi":"/openapi.json post /repurposes","href":"/api-reference/repurposes/create-repurpose"},{"title":"Get repurpose","deprecated":null,"version":null,"openapi":"/openapi.json get /repurposes/{repurpose}","href":"/api-reference/repurposes/get-repurpose"},{"title":"Update repurpose","deprecated":null,"version":null,"openapi":"/openapi.json put /repurposes/{repurpose}","href":"/api-reference/repurposes/update-repurpose"},{"title":"Delete repurpose","deprecated":null,"version":null,"openapi":"/openapi.json delete /repurposes/{repurpose}","href":"/api-reference/repurposes/delete-repurpose"},{"title":"Activate repurpose","deprecated":null,"version":null,"openapi":"/openapi.json post /repurposes/{repurpose}/activate","href":"/api-reference/repurposes/activate-repurpose"},{"title":"Disable repurpose","deprecated":null,"version":null,"openapi":"/openapi.json post /repurposes/{repurpose}/disable","href":"/api-reference/repurposes/disable-repurpose"},{"title":"List repurpose items","deprecated":null,"version":null,"openapi":"/openapi.json get /repurposes/{repurpose}/items","href":"/api-reference/repurposes/list-repurpose-items"},{"title":"Pause repurpose","deprecated":null,"version":null,"openapi":"/openapi.json post /repurposes/{repurpose}/pause","href":"/api-reference/repurposes/pause-repurpose"},{"title":"Resume repurpose","deprecated":null,"version":null,"openapi":"/openapi.json post /repurposes/{repurpose}/resume","href":"/api-reference/repurposes/resume-repurpose"}]},{"group":"Plataforma","pages":[{"title":"List content types","deprecated":null,"version":null,"openapi":"/openapi.json get /content-types","href":"/api-reference/platform/list-content-types"}]}]},{"tab":"Construa com IA","icon":"microchip-ai","pages":[{"title":"Construa com IA","href":"/ai/introduction"}]},{"tab":"Base de conhecimento","icon":"book","pages":[{"title":"Base de conhecimento","href":"/knowledge-base/introduction"}]}]},"basePath":"","title":"Create posts in batch - PostClean Docs","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}