---
title: "Publish, schedule, or cancel a social adaptation"
method: POST
path: "/api/agent/publish"
tags: ["Publishing"]
---

# Publish, schedule, or cancel a social adaptation

`POST /api/agent/publish`

## Request body

- PublishRequest
  - `adaptationId` string, uuid, required
  - `action` 'now' | 'schedule' | 'cancel', required
  - `scheduledAt` string, date-time — Required if action=schedule. Must be a future date.
  - `platform` 'facebook' | 'linkedin' | 'x_article' | 'x_thread' | 'reddit' | 'threads' | 'instagram', required
  - `accountId` string, uuid, required

## Response `200`

Publish action completed

- PublishResponse
  - `success` true, required
  - `action` 'now' | 'schedule' | 'cancel', required
  - `adaptationId` string, uuid, required
  - `postId` string, nullable — Present when action=now
  - `scheduledAt` string, date-time, nullable — Present when action=schedule
  - `messageId` string, nullable — QStash message ID for scheduled publish
  - `deduplicated` boolean — True if publish was skipped because already published

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Platform publishing locked
- `409` — Adaptation not in publishable state
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-03-01** `2df2182b5901` — 1 info
  - endpoint added

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

---

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