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

# Get Vibe site file contents

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

## Request

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

Returns the full contents of up to 20 source files from the site's current editor version, with each file's path and size in bytes.

- Pass each file with its own `path` parameter, as returned by List Vibe site files. Repeated paths are returned once, and files are returned in the order requested.
- Paths that don't exist or aren't visible (see List Vibe site files) are left out of the response. They aren't an error.
- A file with no content returns `content` as an empty string.

## Path parameters

- `site_name` string, required

## Query parameters

- `path` string[], required

## Response `200`

OK

- PartnerSiteFileContentResponseRDT
  - `files` PartnerSiteFileContentRDT[]: The requested files that exist and are visible, in the order requested.
    - `content` string: The file's full content. An empty string when the file has none.
    - `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. - `path` is missing or is repeated more than 20 times. - 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)
