Publish a saved page draft
Makes one saved page draft live now. versionId is the versionId returned by PUT /projects/{projectId}/page-drafts/{pageId}. It uses the same promotion and cache fan-out as a Studio publish. Publishing is always explicit: content:write never implies it.
Preconditions
- The version must be a draft of pageId in projectId, and it must still be the page's current draft head. Otherwise the response is 404 PAGE_NOT_FOUND.
- The live page and project must still be at the revisions the draft was built on. If live moved, the response is 409 STALE_PAGE, nothing is published and the draft head stays in place. Re-read the draft, save it again and publish the new version.
Replacing a schedule. Set replaceScheduledVersionId to publish now in place of the page's scheduled version. The scheduled version is closed in the same transaction (a scheduled draft returns to ACTIVE, a scheduled history version becomes CANCELLED), so the page is never left with neither a schedule nor a publication. If that id is no longer the page's single scheduled version (it fired, was cancelled or was replaced), the response is 409 CONFLICT and nothing is published. A version cannot replace itself (400).
Response. The published version row (status: "PUBLISHED"), plus the new live pageUpdatedAt and, when the project revision advanced, projectUpdatedAt. If the content committed but cache invalidation failed, the response includes cacheDelivery: "degraded"; the content is live and edge delivery is retried automatically, so do not publish again.
Required scope: content:publish
Request
- Base URLhttps://studio.weaverse.io/api/v1/content
- AuthHTTP bearer
Request body
Response
Published receipt
Changes
No recorded changes to this operation across all 1 revision of this API.