---
title: "Publish to Social"
method: POST
path: "/social/publish"
tags: ["Social"]
---

# Publish to Social

`POST /social/publish`

Publish images or videos directly to connected social accounts

## Request body

- object
  - `accounts` unknown[], required — Array of account IDs to publish to (see [List Social Accounts](/docs/api-reference/social-accounts-list))
    - unknown
  - `content` string — Caption/text for the post (max 5000 characters)
  - `media_url` string — URL of the image or video to publish
  - `media_urls` unknown[] — Multiple media URLs for carousel posts (use instead of `media_url`)
    - unknown
  - `status` string — `published` (default), `draft` or `scheduled` — see [above](#choosing-when-it-goes-out)
  - `scheduled_for` string — ISO 8601 timestamp, at least 60 seconds ahead. Required with `status: "scheduled"`, invalid otherwise
  - `timezone` string — IANA timezone string for scheduling (e.g., `"America/New_York"`, `"Europe/London"`)
  - `platformOptions` object — Per-account options keyed by account ID (see below). `platform_options` also accepted
  - `tiktokSettings` object — Root-level TikTok options. For photo carousels, `{ "autoAddMusic": true }` asks TikTok to add recommended music.

## Response `200`

Successful response

- object

## Other responses

- `400` — The request was malformed or a parameter was invalid.
- `401` — Authentication is required and was not supplied.
- `403` — The API key is missing, invalid, or not permitted to perform this action.
- `404` — The requested route or resource does not exist.
- `429` — The workspace rate limit was exceeded. Retry after the interval given by the Retry-After header.
- `500` — An unexpected error occurred on our side.

## Changes

- **2026-08-24** `b2284a52aaad` — 6 info
  - added the media type `application/json` for the response with the status `401`
  - added the media type `application/json` for the response with the status `429`
  - added the non-success response with the status `400`
  - added the non-success response with the status `403`
  - …2 more
- **2026-08-12** `fab85c44ee78` — 1 warning, 2 info
  - removed the request property `isDraft`
  - added the new optional request property `scheduled_for`
  - added the new optional request property `status`

[Change history](https://skmtc.dev/orshot/apis/orshot-api/changes/social/publish/post.md)

---

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