Status Lifecycle
| Status | Description |
|---|---|
draft | Saved, not queued for publishing |
scheduled | Queued with a future scheduledAt datetime |
validating | Token health, media, and platform constraints being checked |
validated | All checks passed; handed to platform adapters |
publishing | Platform publish jobs running |
published | All targeted platforms reported success |
partial | At least one platform succeeded, at least one failed |
failed | All targeted platforms failed |
billing_hold | Paused — subscription suspended |
render_pending | Waiting for a clip render to complete |
archived | Excluded from all publishing and analytics |
Create and Schedule a Post
scheduledAt to publish immediately — the post enters validating directly.
Platform Options
- X (Twitter)
- LinkedIn
- Instagram
- Threads
- YouTube
Publish threads by passing the Supports polls via a
thread array — each item becomes a chained reply.poll object with options (2–4 strings) and durationMinutes.Scheduling
Pass an absolute ISO 8601 datetime inscheduledAt. 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 isfailed or partial, retry only the failed platforms without recreating the post.
AI Tools
Rewrite — adjust tone or improve quality without changing meaning:hook, retention, clarity, visual (each 0–100) plus viralityScore.
Media Attachments
Upload files viaPOST /media/presign to get a presigned URL, then reference the returned URL in your post’s media array.
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.