> ## Documentation Index
> Fetch the complete documentation index at: https://developers.supapost.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Scheduled Post

> Schedule a post for future publishing

Creates a new scheduled post. The `scheduled_at` time must be in the future. A cron job will automatically publish the post at the scheduled time.

## Authentication

<ParamField header="Authorization" type="string">
  Bearer token. `Bearer <supabase-jwt>`.
</ParamField>

## Body

<ParamField body="social_account_id" type="string" required>
  ID of the connected social account to publish to.
</ParamField>

<ParamField body="platform" type="string" required>
  Target platform, e.g. `"tiktok"`.
</ParamField>

<ParamField body="scheduled_at" type="string" required>
  ISO 8601 datetime for when the post should be published. Must be in the future.
</ParamField>

<ParamField body="project_id" type="string">
  Optional project ID to link this post to.
</ParamField>

<ParamField body="title" type="string" default="Scheduled post">
  Title or caption for the post.
</ParamField>

<ParamField body="image_urls" type="string[]" required>
  Array of image URLs to include in the post.
</ParamField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "post-uuid",
    "team_id": "team-uuid",
    "project_id": "proj-uuid",
    "social_account_id": "acct-uuid",
    "platform": "tiktok",
    "scheduled_at": "2026-04-10T14:00:00Z",
    "title": "Morning Routine Tips",
    "image_urls": ["https://cdn.supapost.so/assets/team/slide1.jpg"],
    "status": "scheduled",
    "project": {
      "id": "proj-uuid",
      "name": "Morning Routine Carousel",
      "thumbnail_url": "https://cdn.supapost.so/assets/team/thumb.jpg"
    },
    "account": {
      "id": "acct-uuid",
      "platform": "tiktok",
      "platform_username": "myaccount",
      "display_name": "My Account",
      "avatar_url": "https://example.com/avatar.jpg"
    }
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "message": "scheduled_at must be in the future"
  }
  ```
</ResponseExample>
