---
title: "List a hosted project's files"
method: GET
path: "/api/v0/desk/projects/{project_id}/tree"
tags: ["Desk"]
---

# List a hosted project's files

`GET /api/v0/desk/projects/{project_id}/tree`

## Request

- Base URL: `https://api.outerport.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.outerport.com/api/v0/desk/projects/{project_id}/tree`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/outerport/apis/outerport-api/docs/api/v0/desk/projects/:project_id/tree/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `project_id` string, uuid, required

## Response `200`

Successful Response

- DeskProjectTreeResponse: Every file and directory the project holds now.
  - `revision` integer, required
  - `entries` AgentWorkspaceEntry[], required
    - `path` string, required: Path relative to the workspace root.
    - `is_dir` boolean, required: True for directories, False for files.
    - `size` integer, required: File size in bytes (0 for directories).
    - `mtime` number, required: Last-modified time as a Unix timestamp.
  - `truncated` boolean, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-26** `07854361a13b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/outerport/apis/outerport-api/changes/api/v0/desk/projects/:project_id/tree/get.md)

---

[API](https://skmtc.dev/outerport/apis/outerport-api.md) - [All operations](https://skmtc.dev/outerport/apis/outerport-api/llms.txt) - [OpenAPI document](https://skmtc.dev/outerport/apis/outerport-api/revisions/08b5bf6f7f18?raw)
