Skip to main content
A post has one text (content) and goes to one or more channels. Create it with Create post.

Now or later

  • Later: set publishAt to an ISO 8601 time with a UTC offset (Z or +05:30). Up to a year ahead.
  • Now: leave publishAt out. The post is queued immediately and goes out within about a minute.
Either way the response comes back straight away with status scheduled. Publishing happens in the background; see Tracking a post.

Different text per platform

contentByPlatform replaces content on a platform, for example a shorter version for X:
Keys are platform names: INSTAGRAM, FACEBOOK, X, LINKEDIN, YOUTUBE, TIKTOK, PINTEREST, REDDIT, BLUESKY, THREADS.

Images and videos

Add files from your media library with mediaIds, in display order:

Platform rules

List channels returns each channel’s rules. They’re checked when you create the post, so you find out straight away rather than when it fails later.
TikTok privacyLevel is one of PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR or SELF_ONLY. The interaction and disclosure options (allowComment, allowDuet, allowStitch, brandOrganicToggle, brandContentToggle, videoMadeWithAi) are off unless you set them to true.

Tracking a post

Get post shows the post’s status and, for each channel:
  • status: each channel succeeds or fails on its own. A post is published if at least one channel succeeded.
  • platformPostId and url: where it went live.
  • error: why a channel failed, for example an expired connection or a platform refusal.
Posts are checked against Autoadify’s content policy when they’re published. A post that’s refused ends up failed, with the reason as each channel’s error.

Editing and cancelling

  • Update post changes the text, per-platform text or time of a scheduled post. To remove a platform’s own text, set it to null in contentByPlatform.
  • Delete post cancels a scheduled post. Deleting a published post only removes it from Autoadify; it stays live on the platforms.

Sending the same post twice

If you send an identical post (same text, channels, media and time) within 5 minutes, the second request is refused with 409 duplicate_post and details.postId pointing at the first one. This protects you from double posts when a request is retried. A post that failed can be sent again straight away.