Skip to main content
Posts are the core publishing unit. Write once, target multiple platforms, and Autoposting handles per-platform delivery, retries, and status tracking independently — so a failure on one platform never blocks another.

Status Lifecycle

StatusDescription
draftSaved, not queued for publishing
scheduledQueued with a future scheduledAt datetime
validatingToken health, media, and platform constraints being checked
validatedAll checks passed; handed to platform adapters
publishingPlatform publish jobs running
publishedAll targeted platforms reported success
partialAt least one platform succeeded, at least one failed
failedAll targeted platforms failed
billing_holdPaused — subscription suspended
render_pendingWaiting for a clip render to complete
archivedExcluded from all publishing and analytics

Create and Schedule a Post

curl -X POST https://app.autoposting.ai/api-proxy/posts \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "brandSlug": "brand_slug",
    "text": "Excited to share our latest update!",
    "platforms": ["x", "linkedin"],
    "scheduledAt": "2025-06-15T14:00:00Z"
  }'
Omit scheduledAt to publish immediately — the post enters validating directly.

Platform Options

Publish threads by passing the thread array — each item becomes a chained reply.
{
  "text": "1/ Here's everything we shipped this quarter.",
  "thread": ["2/ First: faster scheduling.", "3/ Second: AI rewrite."],
  "platforms": ["x"]
}
Supports polls via a poll object with options (2–4 strings) and durationMinutes.

Scheduling

Pass an absolute ISO 8601 datetime in scheduledAt. Schedules are evaluated in the brand’s configured timezone but stored in UTC.
A cron runs every minute to move scheduled posts whose scheduledAt has passed into validating. Expired tokens cause failure at validation — not at publish time.

Retry Failed Posts

When a post is failed or partial, retry only the failed platforms without recreating the post.
curl -X POST https://app.autoposting.ai/api-proxy/posts/:id/retry \
  -H "Authorization: Bearer sk_your_api_key"

AI Tools

Rewrite — adjust tone or improve quality without changing meaning:
curl -X POST https://app.autoposting.ai/api-proxy/posts/:id/rewrite \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "tone": "professional", "platform": "linkedin" }'
Score — rate text for likely engagement. Returns hook, retention, clarity, visual (each 0–100) plus viralityScore.

Media Attachments

Upload files via POST /media/presign to get a presigned URL, then reference the returned URL in your post’s media array.
Platform constraints differ: X allows up to 4 images or 1 video; Instagram Reels require video; YouTube requires exactly 1 video. Posts violating these constraints fail at validating.

Platforms

Character limits, media rules, and OAuth for each platform.

Brands

Every post belongs to a brand with its own connected accounts.

Clips

Publish rendered video clips directly as scheduled posts.

Webhooks

Get notified when posts publish, fail, or change status.