---
title: "Get Volume Tree"
method: GET
path: "/api/v1/runtime/volume/tree"
tags: ["runtime"]
---

# Get Volume Tree

`GET /api/v1/runtime/volume/tree`

List the runtime volume tree for the active workspace and provider.

## Query parameters

- `root_path` string — Directory path to list within the selected runtime volume.
- `max_depth` integer — Maximum directory depth to traverse while building the file tree.
- `provider` 'modal' | 'daytona', nullable — Optional runtime volume backend override. Defaults to the active sandbox provider.

## Response `200`

Successful Response

- VolumeTreeResponse — Response for the volume tree listing endpoint.
  - `provider` 'modal' | 'daytona', required — Runtime volume backend used to satisfy the request.
  - `volume_name` string, required — Resolved volume name used for the listing request.
  - `root_path` string, required — Normalized root path used for the listing request.
  - `nodes` VolumeTreeNode[], required — Tree nodes rooted at the requested path.
    - `id` string, required — Stable node identifier used by the frontend tree view.
    - `name` string, required — Display name for the file-system node.
    - `path` string, required — Absolute path for the file-system node within the runtime volume.
    - `type` 'volume' | 'directory' | 'file', required — Kind of file-system node represented by this entry.
    - `children` VolumeTreeNode[] — Child nodes for directory or volume entries.
    - `size` integer, nullable — File size in bytes when the provider reports one.
    - `modified_at` string, nullable — Last modified timestamp when the provider reports one.
  - `total_files` integer — Total file count returned in the current response payload.
  - `total_dirs` integer — Total directory count returned in the current response payload.
  - `truncated` boolean — Whether the provider truncated the tree because of depth or payload limits.

## Other responses

- `400` — The requested root path is invalid.
- `401` — Authentication is required or the provided token is invalid.
- `422` — One or more volume query parameters failed validation.
- `502` — The runtime volume provider failed to list the requested path.
- `503` — Runtime services are unavailable because server startup is incomplete.
- `504` — Volume listing timed out before the backend returned a result.

## Changes

- **2026-03-25** `bc0d4fcb5906` — 1 breaking, 5 info
  - removed the media type `application/json` for the response with the status `422`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `502`
  - …2 more
- **2026-03-19** `78507b29ed8f` — 7 breaking, 4 warning, 8 info
  - the `provider` response property const value `daytona` was removed for the status `200`
  - the `detail` response's property type changed from no type to `array` for status `422`
  - removed the required property `code` from the response with the `422` status
  - removed the required property `entries_returned` from the response with the `200` status
  - …15 more

[Change history](https://skmtc.dev/qredence/apis/fleet-rlm/changes/api/v1/runtime/volume/tree/get.md)

---

[API](https://skmtc.dev/qredence/apis/fleet-rlm.md) · [All operations](https://skmtc.dev/qredence/apis/fleet-rlm/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/qredence/fleet-rlm/revisions/bc0d4fcb5906/schema)
