Get Application File Tree
curl --request GET \
--url https://api.vertracloud.app/v1/apps/{id}/files/treeimport requests
url = "https://api.vertracloud.app/v1/apps/{id}/files/tree"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.vertracloud.app/v1/apps/{id}/files/tree', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.vertracloud.app/v1/apps/{id}/files/tree",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vertracloud.app/v1/apps/{id}/files/tree"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.vertracloud.app/v1/apps/{id}/files/tree")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vertracloud.app/v1/apps/{id}/files/tree")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"response": {
"type": "directory",
"name": "/",
"path": "/",
"last_modified": "2026-03-14T19:58:00Z",
"children": [
{
"type": "file",
"name": "index.js",
"path": "/index.js",
"size": "1.24 KB",
"last_modified": "2026-03-14T19:58:00Z"
},
{
"type": "directory",
"name": "src",
"path": "/src",
"last_modified": "2026-03-14T19:58:00Z",
"children": []
}
]
}
}
File Manager
Get Application File Tree
Retrieves the full file tree of an application by its ID, with folders expanded recursively.
GET
/
v1
/
apps
/
{id}
/
files
/
tree
Get Application File Tree
curl --request GET \
--url https://api.vertracloud.app/v1/apps/{id}/files/treeimport requests
url = "https://api.vertracloud.app/v1/apps/{id}/files/tree"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.vertracloud.app/v1/apps/{id}/files/tree', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.vertracloud.app/v1/apps/{id}/files/tree",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vertracloud.app/v1/apps/{id}/files/tree"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.vertracloud.app/v1/apps/{id}/files/tree")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vertracloud.app/v1/apps/{id}/files/tree")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"response": {
"type": "directory",
"name": "/",
"path": "/",
"last_modified": "2026-03-14T19:58:00Z",
"children": [
{
"type": "file",
"name": "index.js",
"path": "/index.js",
"size": "1.24 KB",
"last_modified": "2026-03-14T19:58:00Z"
},
{
"type": "directory",
"name": "src",
"path": "/src",
"last_modified": "2026-03-14T19:58:00Z",
"children": []
}
]
}
}
The tree goes up to 6 levels deep and skips dependency and build folders (
node_modules, .git,
vendor, __pycache__, target, .venv, venv, .next, .local). To browse those, use
List Application Files on the folder directly.string
required
The ID of the application to retrieve the file tree from. If the application belongs to a workspace, pass its ID in the
workspace_id query parameter.string
If the application belongs to a workspace, the workspace’s ID. Members with an Owner, Admin or Developer role can use the file manager on a workspace app they don’t own; without this, only the app’s own owner can.
Response
object
The root entry, with children nested recursively.
Show Toggle object
Show Toggle object
string
The name of the file or folder.
string
The full path to the file or folder.
string
Either
"file" or "directory".string
The file size, human-readable (e.g.
"12.34 KB"). Only present for entries of type "file".string
The timestamp when the file or folder was last modified.
array
Present on directories. An array of entries with this same shape.
{
"response": {
"type": "directory",
"name": "/",
"path": "/",
"last_modified": "2026-03-14T19:58:00Z",
"children": [
{
"type": "file",
"name": "index.js",
"path": "/index.js",
"size": "1.24 KB",
"last_modified": "2026-03-14T19:58:00Z"
},
{
"type": "directory",
"name": "src",
"path": "/src",
"last_modified": "2026-03-14T19:58:00Z",
"children": []
}
]
}
}
Error Responses
string
The error code indicating the reason for failure. Possible values:
UNAUTHORIZED: The user is not authenticated or lacks sufficient permissions.FORBIDDEN: The user does not have permission to access the application.APP_NOT_FOUND: The specified application does not exist.PLAN_RESTRICTED_FEATURE: The user’s plan does not support file manager access.INTERNAL_SERVER_ERROR: Failed to retrieve the file tree.
{
"code": "UNAUTHORIZED"
}
{
"code": "APP_NOT_FOUND"
}