Publish one post to several connected accounts in a single request. Shared
content and media go to every account in platforms; each entry can
override them and add that platform's own options. Adeli validates every
account's post exactly as the single-platform endpoints
would, accepts the publication durably, and publishes to every account in the
background.
Body
profileIduuid- The profile. Optional: every accountId names its profile, and they must all agree.
contentstring- The post's text: each platform's caption, message, text, or commentary. YouTube's title defaults to its first line and TikTok photo posts' title to its first 90 characters.
mediaarray- Shared media, in order: { upload_id } from Prepare media uploads (name every target platform in its platforms), or { url } for a public HTTPS video.
platformsarrayRequired- 1–20 targets.
platforms[].platformstringRequired- instagram, facebook, tiktok, youtube, x, bluesky, or linkedin.
platforms[].accountIduuidRequired- The connected account to post from.
platforms[].kindstring- image, carousel, video, reel, or story. Inferred from the media when omitted: one video is a Reel on Instagram and Facebook and a video elsewhere.
platforms[].contentstring- Replaces content for this account, for example a shorter caption for X.
platforms[].mediaarray- Replaces media for this account. Items may carry the platform's per-item fields, such as Instagram altText and userTags.
platforms[].optionsobject- This platform's create-post fields other than its text and media: TikTok's music_usage_confirmed and privacy_level, YouTube's privacy_status and made_for_kids, Instagram's collaborators, and so on.
Every target is validated before anything is written. An invalid target answers
400 with each problem's path under platforms[i]; an account that is not in
the profile answers 404. Nothing is published in either case. Scheduling,
queues, and drafts are not supported yet and answer 422 unsupported_feature.
Send an Idempotency-Key header to make retries safe. Repeating a key with the
same body returns the original publication with 200 and publishes nothing new;
the same key with a different body returns 409 idempotency_conflict.
The 202 response is the publication. Poll its statusUrl with
Publication status until status is
published, partial, or failed. You can stop polling at any time: the
platforms keep publishing.