Unpublish a site (admin)
DELETE
/api/sites/{path}
const url = 'https://example.com/api/sites/example';const options = {method: 'DELETE', headers: {'Remote-User': '<Remote-User>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url https://example.com/api/sites/example \ --header 'Remote-User: <Remote-User>'Soft-deletes the site: takes it offline immediately by moving its files
to a quarantine directory, and sets deleted_at on the registry row.
Files and the row are permanently removed by the background purge after
the GOTIFACTS_DELETED_SITE_TTL (default 30 days). Re-publishing the
same slug before that deadline restores the site.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”path
required
string
Full site path — group segments (0–2) plus the slug, e.g. claude/app or demo.
Responses
Section titled “ Responses ”Unpublished (soft-deleted).
Missing or invalid credentials.
Media typeapplication/json
object
error
required
string
Examplegenerated
{ "error": "example"}Authenticated, but not permitted for this target/capability.
Media typeapplication/json
object
error
required
string
Examplegenerated
{ "error": "example"}No such site, key, or connection.
Media typeapplication/json
object
error
required
string
Examplegenerated
{ "error": "example"}