---
title: "List Vibe site files"
method: GET
path: "/api/sites/{site_name}/vibe/files"
tags: ["Vibe Files"]
---

# List Vibe site files

`GET /api/sites/{site_name}/vibe/files`

## Request

- Base URL: `https://api.duda.co`
- URL: `https://api.duda.co/api/sites/{site_name}/vibe/files`
- Auth: HTTP basic

Lists the source files of the site's current editor version, with each file's path and size in bytes. File contents aren't included; use Get Vibe site file contents to read them.

- Only the visible source tree is listed: `client/src/` and `server/api/` for sites built on v1 templates, `src/` for sites built on v2 templates.
- `.gitkeep` files, the site's form settings file (`forms.json`, which holds the owner's recipient addresses) and the generated database row types are never listed.
- `path_prefix` filters the list. A file is kept if its path starts with any of the prefixes. Without `path_prefix`, every visible file is listed.

## Path parameters

- `site_name` string, required

## Query parameters

- `path_prefix` string[]

## Response `200`

OK

- PartnerSiteFilesResponseRDT
  - `files` PartnerSiteFileRDT[]: The matching files.
    - `path` string: The file's path from the root of the site's source, such as `src/App.tsx`.
    - `size_bytes` integer: Size of the file's content in bytes, counted as UTF-8.

## Other responses

- `400`: Bad request. - The caller can't access the site.
- `401`: Unauthorized. The credentials are missing or invalid.
- `404`: Not found. - The site has no Vibe workspace, or no editor version.
- `429`: Too many requests. The rate limit was exceeded.

---

[API](https://skmtc.dev/duda/apis/duda-partner-api.md) - [All operations](https://skmtc.dev/duda/apis/duda-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/duda/apis/duda-partner-api/revisions/52be4d41cb12?raw)
