Skip to main content

Multi-platform posting

Post to Multiple Social Platforms at Once for Teams

Multi-platform posting removes the copy-and-paste routine: prepare content once, select the accounts, and let the scheduled posts endpoint fan the request out to each platform. The work that remains is making sure the content fits the platform it targets. This page covers the endpoint fan-out, the per-platform media rules, how scheduling validates a batch, and how to track every post that came out of one request.

The problem this solves

Posting the same campaign to five platforms usually means five uploads, five captions, and five places to check what happened. The API turns that into one prepared payload and one submit call, then reports status per post. The team stops managing tabs and starts managing content, which is the part that actually needs judgment.

How multi-platform posting works

A direct POST /api/content/post publishes to one account at a time. Multi-account fan-out uses POST /api/posts with a list of account IDs and target platforms, where the backend validates the payload against the rules of each selected account before queueing and processes each platform independently. That means one platform failing does not block the others, and a request that cannot work for a selected account is rejected before it is queued. Text-only posts are the exception: they are supported only on Threads and Facebook.

  • One endpoint, multiple account IDs, per-account platform settings.
  • Validation against each selected platform before sending.
  • Independent processing, so one failure does not block the rest.
  • Text-only supported on Threads and Facebook only.

A multi-platform request you can run

The sample lists the connected accounts first, then publishes to one account using its account ID and platform. Repeat that call for each account, or send one request to POST /api/posts with a list of account IDs for a single multi-account submission.

const API_BASE_URL = 'https://api.wahdx.com';
const API_KEY = process.env.WAHDX_API_KEY;

await fetch(API_BASE_URL + '/api/content/post', {
  method: 'POST',
  headers: {
    'X-API-Key': API_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(
    {
      "platform": "instagram",
      "accountId": "acc_instagram_internal_uuid",
      "content": "Campaign post caption",
      "mediaItems": [
        {
          "url": "https://your-domain.com/video.mp4"
        }
      ],
      "instagramSettings": {
        "share_to_feed": true
      }
    }
  )
});

Media rules to plan around

The media type decides where a post can go. Video works across the five platforms, photo carousels are limited by each platform, and text-only is limited to two. This table is the quick version to check before a batch run.

Media rules across the five platforms
PlatformVideoPhoto carouselText-only
TikTokMP4/MOV, H.264, 3s-10minUp to 35 imagesNo
InstagramVideo and reelsUp to 10 photo itemsNo
ThreadsPer thread itemPer thread itemYes, 500 chars
FacebookVideo to a PageMulti-photo postYes, 4000 chars
YouTubeUpload with per-video settingsNot supportedNo

Limits and behaviors to plan around

Scheduling follows the same 30-day window, and every selected account must accept the media type in the request. Expired accounts are returned by the listing with an expired status, and publishing refuses them, so reconnection belongs in the account picker rather than in a retry loop. Failed posts are visible in status tracking, so a rejected video or a platform outage turns into a task instead of a silent gap in the calendar.

Tracking each post to publication

One request produces several posts, each with its own publish ID and lifecycle. The single status endpoint checks one post, and the batch endpoint checks many, so a nightly job can confirm the whole day in one call. Because status, scheduling, and analytics all tie to the same connected accounts, the publishing record and the reporting record never drift apart.

FAQ

Common questions about multi-platform posting

Does one API request publish to all platforms?

A single request to POST /api/posts can fan out to several accounts. A direct POST /api/content/post publishes to one account at a time, so multi-platform publishing uses the scheduled posts endpoint with a list of account IDs.

Can I schedule multi-platform posts?

Yes, up to 30 days ahead. Each selected account must accept the media type, and the queue processes platforms independently.

Why was my post rejected before publishing?

Validation runs before the request is sent. A text post targeting TikTok or Instagram, an expired account, or mixed photo and video in one carousel is rejected early.

What happens when one platform rejects a post?

The failure is recorded in status tracking for that post. The other platforms in the same request are not blocked.