---
title: "Delete post"
method: DELETE
path: "/v1/posts/{id}"
---

# Delete post

`DELETE /v1/posts/{id}`

## Request

- Base URL: `https://postonce.to/api/public`
- URL: `https://postonce.to/api/public/v1/posts/{id}`
- Auth: HTTP bearer

Cancels a scheduled or still-pending post without deleting its aggregate record or already published social content. This is functionally equivalent to cancel_post.

## Path parameters

- `id` string, uuid, required

## Response `200`

Scheduled post cancelled successfully.

- object
  - `data` Post
    - `id` string
    - `content` string
    - `external_id` string, nullable
    - `media` MediaInput[]
      - `url` string, required: Required absolute HTTP or HTTPS media URL. Surrounding whitespace is trimmed. Invalid URLs reject the entire request with invalid_media; URL contents are not fetched during validation.
      - `type` 'image' | 'video'
      - `width` integer
      - `height` integer
      - `size` integer
      - `duration` number: Video duration in seconds when known.
      - `thumbnail_url` string: Cover image URL for video media (JPEG or PNG, 8 MB or less). It is applied as the video cover on Instagram Reels and Stories, Facebook Reels, and TikTok (inserted as the video's first frame), and is also used in scheduled and published post previews.
    - `origin` 'ui' | 'api' | 'workflow', nullable
    - `publish_at` string, date-time, nullable
    - `status` 'queued' | 'scheduled' | 'processing' | 'partial' | 'published' | 'failed' | 'cancelled'
    - `created_at` string, date-time, nullable
    - `targets` PostTarget[]
      - `target_post_id` string
      - `account_id` string, nullable
      - `platform` string, nullable
      - `target_variant` 'spotlight' | 'public_story', nullable: Concrete placement for platforms that fan one account target into multiple publications.
      - `username` string, nullable
      - `status` 'pending' | 'scheduled' | 'processing' | 'submitted' | 'published' | 'failed' | 'skipped' | 'cancelled'
      - `error` string, nullable
      - `platform_post_id` string, nullable
      - `platform_post_url` string, nullable
      - `scheduled_time` string, date-time, nullable

## Other responses

- `400`: Post ID must be a valid UUID.
- `401`: Missing, invalid, revoked, or expired API key.

---

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