Skip to main content
Schedule posts for future publication by adding scheduled_time to any post endpoint, or use the dedicated schedule-only API.

scheduled_time format

Use ISO 8601 UTC:
Ensure your server clock and database use UTC for scheduling. Past-due posts that never publish often indicate a timezone mismatch.

Schedule on post endpoints

Add scheduled_time to POST /unified/post/text, /image, /video, or /carousel:
Works with platform overrides, multi-platform posts, and media IDs.

Mixed draft + publish

Use draft_platforms to schedule some platforms and publish others immediately — see Drafts.

Schedule-only endpoint

POST /unified/scheduled-posts accepts the same body shape as post endpoints but scheduled_time is required. Does not accept draft or draft_platforms.

List scheduled posts (get_queued_posts)

REST equivalent of MCP get_queued_posts with type=scheduled:
Response includes scheduled_time, scheduled_time_local, and scheduled_time_formatted (workspace owner timezone).

MCP: get_queued_posts

Set type=all to include drafts. See MCP Tool Catalog.

Manage scheduled posts

Plan requirements

Scheduling requires scheduling_enabled on your plan. Each scheduled post also consumes a scheduled post credit. Blocked requests return 403 with plan upgrade details — see Postsiva errors.

Video scheduling flow

  1. Request hits platform video endpoint with future scheduled_time
  2. Post saved to scheduled_posts table (not published immediately)
  3. Celery task enqueued with countdown = scheduled_time - now
  4. Worker publishes at due time and updates status

Example: multi-platform schedule

Drafts

Save without scheduling

Platforms

Per-platform requirements