---
title: "Files the site currently serves (admin drill-down)"
method: GET
path: "/stats/sites/{id}/files"
tags: ["Stats"]
---

# Files the site currently serves (admin drill-down)

`GET /stats/sites/{id}/files`

## Request

- Base URL: `https://api.nippy.host`
- URL: `https://api.nippy.host/stats/sites/{id}/files`
- Auth: `bearer` (a scheme the document does not define)

Admin-only listing of the site’s live manifest — the expected-file list of the most recent finalized upload batch — with each file’s path, size and recorded content type. Unlike the owner-facing `GET /sites/:id/files`, this works for any site regardless of ownership, and does not require the site to be live. Path-sorted and capped; `total` / `totalBytes` always describe the whole manifest, and `truncated` says whether the cap applied. A site that has never published returns an empty list.

## Path parameters

- `id` string, required

## Response `200`

- APIAdminSiteFiles
  - `files` APIAdminSiteFile[], required: Files in the live manifest, path-sorted, capped by the API.
    - `path` string, required: Path relative to the site root.
    - `size` number, required: Size in bytes.
    - `contentType` string, required: Content type recorded at upload — an empty string when the upload did not carry one.
  - `total` number, required: Files in the whole manifest, before the cap.
  - `totalBytes` number, required: Bytes across the whole manifest, before the cap.
  - `truncated` boolean, required: True when `files` holds only the first page of the manifest.

## Other responses

- `403`: Admin access required
- `404`: Site not found

---

[API](https://skmtc.dev/nippy/apis/nippy-backend-api.md) · [All operations](https://skmtc.dev/nippy/apis/nippy-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nippy/apis/nippy-backend-api/revisions/7ab23f040a55?raw)
