The unified JSON

View .md

One request shape for every platform: account_ids, text, media_urls and platform_options.


One shape for every platform

You describe a post once and Dravo translates it to each platform. The same body works whether you publish to one account or to several across different platforms.

JSON
{  "account_ids": ["acc_8f2c1d", "acc_4b9e07"],  "text": "Shipping Dravo: one API for every social platform.",  "media_urls": ["https://cdn.dravo.dev/u/abc/cover.jpg"],  "platform_options": {}}

The core fields

FieldTypeNotes
account_idsstring array1 to 100 connected accounts to publish to.
textstringThe post body, 1 to 5000 characters. Each platform applies its own limit on top.
media_urlsstring arrayPublic image or video URLs. Upload/import them first via media for reliability.
platform_optionsobjectOptional typed per-platform overrides (see below).
scheduled_atstringOptional ISO 8601 time to schedule instead of publishing now.

Platform options

Most posts need nothing here. When a platform exposes a setting that has no equivalent elsewhere, set it under a key named after the platform. Anything you do not set uses a safe default. Unknown platform keys and unknown option names are rejected before the post is queued.

JSON
{  "account_ids": ["acc_tiktok_1"],  "text": "Behind the scenes",  "media_urls": ["https://cdn.dravo.dev/u/abc/clip.mp4"],  "platform_options": {    "tiktok": {      "privacy_level": "SELF_ONLY",      "disable_comment": false    }  }}

The available keys per platform are listed in the per platform notes.

How targeting works

You target accounts, not platforms. Each entry in account_ids is a connected account, and its platform is already known to Dravo. That lets you publish to two different X accounts, or to one Instagram and one LinkedIn account, in a single call. The delivery result is reported per account so you always know exactly where the post landed.