Skip to content

List quarantined (soft-deleted) sites (admin)

GET
/api/sites/deleted
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.

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"
}