DELETE /v1/artifacts/{id}/publish
Soft-unpublishes the public page for an artifact. The page URL stops resolving immediately. The underlying artifact is not deleted and remains accessible through the API.
This endpoint is idempotent: calling it on an already-unpublished artifact is a no-op and returns the same page_id.
Authentication
Requires a Bearer token. See Authentication.Path parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Artifact ID (art_...) or page slug (pg_...). Both resolve within the caller’s tenant — the public slug never authorizes cross-tenant mutations. |
Request body
None.Response
| Field | Type | Description |
|---|---|---|
page_id | string | The slug of the page that was unpublished. |
unpublished | boolean | Always true. |
Error codes
| Code | Status | When |
|---|---|---|
artifact_not_found | 404 | No published page found for the given artifact ID or slug within this tenant. |
Notes
- Artifact is preserved: Only the public page is taken down. The artifact bytes and metadata remain accessible to authenticated callers via
GET /v1/artifacts/{id}. - Artifact deletion auto-unpublishes: Calling
DELETE /v1/artifacts/{id}unpublishes any live page before tombstoning the artifact, so a separate unpublish call is not required before deleting. - Re-publish: Calling
POST /v1/artifacts/{id}/publishafter unpublish creates a new page with the samepage_idand URL.