Bulk delete pages
Deletes page assignments in a project and soft-deletes each underlying page once it has no remaining live assignments; assignments for other locales or resources keep a shared page live. Only assignments in the project named in the URL are touched.
Identify up to 500 targets with one selector per request:
- pageIds: page ids, scoped to this project.
- handles + type: handles of one page type, with an optional locale. When locale is omitted the legacy en-us locale is used; an empty string is rejected. For custom pages, pass the exact handle from the pages list, including any /.
If both pageIds and handles are present and pageIds is an array, pageIds wins and handles is ignored.
A handles request naming an internal template-marker handle (isTemplateMarker: true on the pages list) is rejected with 400 and deletes nothing, so a bulk delete can never half-apply and strip a custom template's wiring. Delete such a template by its pageIds instead.
Deletion is consequential: resolve targets with the pages list first and, when acting through an agent, confirm them with the user. Use the response counts and handle lists to find misses (notFound) or per-page failures (failed).
Clients or CDNs that strip DELETE bodies may send POST to the same URL with the same body.
Required scope: content:write and content:delete. A credential with a stored scope list (any delegated grant or a shop API key minted with scopes) without content:delete gets 403 INSUFFICIENT_SCOPE and nothing is deleted. Only shop API keys minted before scopes existed keep this endpoint's historical delete access.
Request
- Base URLhttps://studio.weaverse.io/api/v1/content
- AuthHTTP bearer
Path parameters
Request body
Response
Delete result with per-target accounting
Changes
No recorded changes to this operation across all 1 revision of this API.