> ## 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.

# Scheduling

> Schedule posts for automatic publishing.

## Overview

Schedule your slideshows to publish automatically at a specific date and time. A Cloudflare Workers cron job checks every minute for due posts and publishes them.

## Scheduling from the Editor

1. Create your slides in **Studio > Slides**
2. Click the **dropdown arrow** next to Export
3. Under **Schedule**, select your connected account
4. Pick a date and time
5. Click **Schedule**

The slides are exported, uploaded to R2, and a scheduled post is created.

## Scheduling via API

```bash theme={null}
curl -X POST https://api.supapost.so/schedule/posts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "social_account_id": "account-uuid",
    "platform": "tiktok",
    "scheduled_at": "2026-04-10T14:00:00Z",
    "title": "Morning routine tips",
    "image_urls": [
      "https://cdn.supapost.so/exports/slide-1.jpg",
      "https://cdn.supapost.so/exports/slide-2.jpg"
    ]
  }'
```

## Post Statuses

| Status       | Description                                           |
| ------------ | ----------------------------------------------------- |
| `scheduled`  | Waiting to be published at the scheduled time         |
| `publishing` | Currently being published (in progress)               |
| `published`  | Successfully published to the platform                |
| `failed`     | Publishing failed — check `error_message` for details |
| `cancelled`  | Manually cancelled by the user                        |

## Managing Scheduled Posts

```bash theme={null}
# List scheduled posts for a date range
curl "https://api.supapost.so/schedule/posts?from=2026-04-07&to=2026-04-14" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Reschedule a post
curl -X PATCH https://api.supapost.so/schedule/posts/POST_ID \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"scheduled_at": "2026-04-11T16:00:00Z"}'

# Cancel a post
curl -X PATCH https://api.supapost.so/schedule/posts/POST_ID \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "cancelled"}'
```
