Skip to content

Install-wide storage usage rollup

GET
/admin/storage/usage

Read-only admin view of what storage holds (#402): distinct objects, variant rows, total bytes on disk, the originals-vs-derivatives split, and breakdowns by content type and backend.

total_bytes is DEDUPLICATED on-disk bytes — storage is content-addressed, so a byte counted once is a byte stored once. It is summed from storage_variants alone: that table already carries one row per object under variant_key original mirroring the object’s size, so adding storage_objects on top would double-count every original.

Aggregates only, so no paging. Gated on system.storage.read (or system.admin). No write path.

Storage usage rollup.

object
object_count
required

Distinct content-addressed objects.

integer format: int64
variant_count
required

Total variant rows (every rendition of every object, including the original).

integer format: int64
total_bytes
required

Deduplicated bytes on disk. Summed from storage_variants alone — see the endpoint description.

integer format: int64
original_bytes
required

Bytes held by the original variant of every object.

integer format: int64
derivative_bytes
required

Bytes held by every non-original variant (previews, turntables, HLS segments, …).

integer format: int64
by_content_type
required
Array<object>
object
content_type
required
string
Example
image/png
variant_count
required
integer format: int64
total_bytes
required
integer format: int64
by_backend
required
Array<object>
object
backend
required
string
Example
fs
object_count
required
integer format: int64

Authentication required, missing, or invalid

object
error
required

Human-readable error summary

string
Example
the request could not be completed
Example
{
"error": "authentication required: sign in and retry with a valid session or API token"
}

Authenticated but missing required capabilities

object
error
required

Human-readable error summary

string
Example
the request could not be completed