List quarantined (soft-deleted) sites (admin)
GET
/api/sites/deleted
const url = 'https://example.com/api/sites/deleted';const options = {method: 'GET', 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 GET \ --url https://example.com/api/sites/deleted \ --header 'Remote-User: <Remote-User>'Returns all sites that have been soft-deleted but not yet permanently removed. Only admins may call this endpoint.
Authorizations
Section titled “Authorizations”Responses
Section titled “ Responses ”Quarantined sites with their deleted_at timestamps.
Media typeapplication/json
object
sites
required
Array<object>
object
id
required
integer format: int64
group
required
Group path (0–2 segments); empty for a flat site.
string
slug
required
string
title
required
string
description
string
date
string
tags
Array<string>
repo
string
preview
Optional preview image URL used by the portal instead of a live iframe.
string
hidden
required
boolean
size
required
Total on-disk size in bytes of the current revision’s files.
integer format: int64
has_favicon
True when the server has a cached favicon for the site, detected
from the published index.html at publish time. Fetch the bytes from
GET /api/sites/{path}/favicon.
boolean
created_at
required
string format: date-time
updated_at
required
string format: date-time
deleted_at
Set when the site is soft-deleted; absent for live sites.
string format: date-time
count
required
integer
Examplegenerated
{ "sites": [ { "id": 1, "group": "example", "slug": "example", "title": "example", "description": "example", "date": "example", "tags": [ "example" ], "repo": "example", "preview": "example", "hidden": true, "size": 1, "has_favicon": true, "created_at": "2026-04-15T12:00:00Z", "updated_at": "2026-04-15T12:00:00Z", "deleted_at": "2026-04-15T12:00:00Z" } ], "count": 1}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"}