---
title: "Read the delivered files"
method: GET
path: "/projects/{id}/files"
tags: ["Projects"]
---

# Read the delivered files

`GET /projects/{id}/files`

## Request

- Base URL: `https://app.vulk.dev/api/v1`
- URL: `https://app.vulk.dev/api/v1/projects/{id}/files`
- Auth: HTTP bearer

Scope `export.read`, on a plan that includes export. Without `path`, lists the files of the project's delivered version; with `path`, returns one file.

## Query parameters

- `path` string

## Response `200`

The file list, or one file when `path` is given.

- union
  - FileList
    - `projectId` string, required
    - `version` integer, required: The delivered version the files belong to.
    - `files` object[], required
      - `path` string, required
      - `bytes` integer, required
    - `totalFiles` integer, required
    - `totalBytes` integer, required
    - `truncated` boolean, required
  - FileContent
    - `projectId` string, required
    - `path` string, required
    - `bytes` integer, required
    - `content` string, required: The file as UTF-8 text; cut after 200,000 characters, with `truncated` true.
    - `truncated` boolean, required

## Other responses

- `401`: No key, a malformed key, or a revoked or expired one (code UNAUTHORIZED).
- `402`: The plan or credit balance does not cover the request (code PAYMENT_REQUIRED).
- `403`: The key lacks the scope the endpoint needs (code FORBIDDEN).
- `404`: No such endpoint, project, operation or file on this account (code NOT_FOUND).
- `409`: The project has no delivered version with files yet (code CONFLICT).
- `429`: Over 60 requests in a minute; wait `retryAfter` seconds (code RATE_LIMITED).

---

[API](https://skmtc.dev/vulk/apis/vulk-rest-api.md) · [All operations](https://skmtc.dev/vulk/apis/vulk-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vulk/apis/vulk-rest-api/revisions/b30510c5149c?raw)
