---
title: "POST /api/publish-schedules"
method: POST
path: "/api/publish-schedules"
tags: ["social-posting", "enterprise"]
---

# POST /api/publish-schedules

`POST /api/publish-schedules`

Schedule a clip to be published later. The `publishAt` value must be a future UTC ISO 8601 timestamp. Each X (formerly Twitter) post costs 1 credit.

## Request body

- object
  - `projectId` string, required — Project ID
  - `clipId` string, required — Bare clip ID (e.g. `qU3iVMSO77`). **Not** the composite `{projectId}.{clipId}` form returned as `id` by `GET /api/exportable-clips` — pass only the part after the dot.
  - `postAccountId` string, required — Unique ID of the connected social account record
  - `subAccountId` string — Sub-account ID used by Facebook pages, Instagram business accounts, or LinkedIn
  - `publishAt` string, required — Future publish time in UTC ISO 8601 format
  - `postDetail` object, required
    - `title` string, required — Title of the post
    - `mediaType` string — Media type. Supported values depend on the connected platform
    - `custom` object
      - `description` string — Description of the post, including hashtags
      - `privacy` 'public' | 'private' | 'unlisted' — Privacy setting for YouTube

## Response `201`

Successfully created a publish schedule

- object
  - `data` object, required
    - `scheduleId` string, required — Unique ID of the created schedule task

---

[API](https://skmtc.dev/opus/apis/clip-api.md) · [All operations](https://skmtc.dev/opus/apis/clip-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/opus/clip-api/revisions/7fa7ca3147b7/schema)
