---
title: "Queue a video publish"
method: POST
path: "/v1/videos/{videoId}/publish"
tags: ["Videos"]
---

# Queue a video publish

`POST /v1/videos/{videoId}/publish`

## Request

- Base URL: `https://www.postquick.ai/api`
- URL: `https://www.postquick.ai/api/v1/videos/{videoId}/publish`
- Auth: HTTP bearer

Atomically records a durable publish request and returns its accepted job snapshot. This does not confirm a platform post. Use the same Idempotency-Key (1–128 printable ASCII characters) if the response is lost; the same recognized publish settings return the original accepted snapshot, even after completion. JSON formatting, property order, and unrecognized fields do not affect comparison; changing recognized settings returns 409.

## Path parameters

- `videoId` string, required

## Headers

- `Idempotency-Key` string: Optional 1–128 printable ASCII key. Scoped to this video and publish operation; retained for the request lifetime. Send one for safely recovering an unknown enqueue outcome.

## Request body

- object
  - `platforms` string[]: Target platforms. Defaults to the platforms set on the video at create time.
  - `tiktokSettings` object: Validated TikTok publish settings.
    - `privacy_level` '' | 'PUBLIC_TO_EVERYONE' | 'MUTUAL_FOLLOW_FRIENDS' | 'FOLLOWER_OF_CREATOR' | 'SELF_ONLY': TikTok privacy. Empty is accepted only for compatibility with non-TikTok modal submissions; TikTok posts must use a creator-supported non-empty option.
    - `disable_comment` boolean
    - `disable_duet` boolean
    - `disable_stitch` boolean
    - `brand_content_toggle` boolean
    - `brand_organic_toggle` boolean
  - `facebookTarget` object: Validated Facebook Page target. `pageId` cannot be blank.
    - `pageId` string, required
    - `pageName` string
  - `linkedinTarget` union: Validated LinkedIn target. Organization targets require a non-blank `organizationId`.
    - object
      - `type` 'personal', required
      - `organizationId` string
      - `organizationName` string
    - object
      - `type` 'organization', required
      - `organizationId` string, required
      - `organizationName` string

## Response `202`

Publish request accepted and durably queued. Repeat the request with the same key and publish settings after an unknown enqueue outcome; do not create a new key.

- object
  - `success` true, required
  - `data` object, required
    - `videoId` string, required
    - `status` string, nullable: Legacy video status snapshot, commonly `processing` when accepted.
    - `message` 'Video publishing queued', required
    - `platforms` string[], required
    - `jobId` string, required

## Other responses

- `400`: Invalid request, missing video URL, or no target platforms.
- `409`: A conflicting idempotency body, active publish, or already-published requested platforms.
- `503`: The enqueue outcome could not be confirmed. If the original request had an Idempotency-Key, retry with that same key and publish settings. Without a key, do not blindly repeat: poll status and reconcile or contact support.

---

[API](https://skmtc.dev/postquick/apis/postquickai-api.md) · [All operations](https://skmtc.dev/postquick/apis/postquickai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postquick/apis/postquickai-api/revisions/d9bc2bcf3042?raw)
