---
title: "Cancel a scheduled publication"
method: DELETE
path: "/versions/{versionId}"
tags: ["Drafts and publishing"]
---

# Cancel a scheduled publication

`DELETE /versions/{versionId}`

## Request

- Base URL: `https://studio.weaverse.io/api/v1/content`
- URL: `https://studio.weaverse.io/api/v1/content/versions/{versionId}`
- Auth: HTTP bearer

Cancels a scheduled publication so nothing goes live when it would have fired. Pass `projectId` as a query parameter; no body and no `type` are needed, because the version is looked up in both the page and theme tables.

- A scheduled page draft returns to `ACTIVE`, so it is again the editable draft head you can publish, reschedule or discard.
- A scheduled history page version or theme version becomes `CANCELLED`.
- The cancel is serialized with the publisher. If the version already published (or is otherwise not `SCHEDULED`), the cancel is refused with 409 `CONFLICT` and the version is not marked cancelled.

Required scope: `content:publish`

## Query parameters

- `projectId` string, required

## Response `200`

Cancelled row

- object

## Other responses

- `400`: Missing `projectId` query (INVALID_PARAMS)
- `401`: Missing or invalid credentials
- `403`: Foreign project or missing scope (INSUFFICIENT_SCOPE)
- `404`: Not found (never discloses other tenants)
- `409`: CONFLICT: the version is not scheduled; nothing was changed

---

[API](https://skmtc.dev/weaverse/apis/weaverse-content-api.md) - [All operations](https://skmtc.dev/weaverse/apis/weaverse-content-api/llms.txt) - [OpenAPI document](https://skmtc.dev/weaverse/apis/weaverse-content-api/revisions/d189794169bb?raw)
