Skip to content

Get a site's metadata

GET
/api/sites/{path}
curl --request GET \
--url https://example.com/api/sites/example \
--header 'Remote-User: <Remote-User>'

Returns a single site’s registry metadata. Available to any authenticated user; hidden sites are visible only to admins (they return 404 otherwise).

path
required
string

Full site path — group segments (0–2) plus the slug, e.g. claude/app or demo.

The site.

Media typeapplication/json
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
Examplegenerated
{
"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"
}

Missing or invalid credentials.

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