Documentation menu
Posts

Publish to several accounts

Publish one post to several connected accounts at once.

POSThttps://app.tryadeli.com/api/v1/publications
AuthorizationBearer <API key>How keys work

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.