---
title: "Cancel a post"
method: DELETE
path: "/posts/{post_id}"
tags: ["Posts"]
---

# Cancel a post

`DELETE /posts/{post_id}`

## Request

- Base URL: `https://api.shortsync.app/v1`
- URL: `https://api.shortsync.app/v1/posts/{post_id}`
- Auth: HTTP bearer

Cancels a `scheduled`, `draft`, or `failed` post. The post's status
transitions to `deleted`. Use it to clear failed posts you replaced
with a new one. Published posts cannot be unpublished via this
endpoint; delete them from the upstream platform.

## Response `204`

Cancelled.

## Other responses

- `401`: Missing, malformed, or revoked token.
- `403`: Token is valid but cannot access this resource. Common cases: - `INSUFFICIENT_SCOPE` - token lacks the required scope. - `WORKSPACE_NOT_ALLOWED` - account token is allowlisted to other workspaces.
- `404`: Resource does not exist or is not visible to this token.
- `409`: Post is already published and cannot be cancelled.
- `429`: Per-key sliding-window rate limit (60 req/min), per-org monthly request quota, or per-user upload cap was hit. `RATE_LIMIT_EXCEEDED` carries the window headers; `QUOTA_EXCEEDED` carries `details.quota` (which counter), `used`, `limit`, `resets_at`, and `upgrade_url`. `UPLOAD_QUOTA_EXCEEDED` (Free tier on `POST /posts` only) carries the same shape plus `details.remaining`.

---

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