List folders
curl --request GET \
--url https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders', 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://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"createdAt": "2023-12-25",
"deploymentId": 123,
"id": 123,
"name": "<string>",
"position": 123,
"type": "FOLDER",
"updatedAt": "2023-12-25",
"createdBy": 123,
"parentId": 123,
"updatedBy": 123
}
],
"items": [
{
"createdAt": "2023-12-25",
"deploymentId": 123,
"id": 123,
"name": "<string>",
"position": 123,
"type": "FOLDER",
"updatedAt": "2023-12-25",
"createdBy": 123,
"parentId": 123,
"updatedBy": 123
}
],
"count": 1,
"pageInfo": {
"hasNextPage": true,
"hasPreviousPage": true,
"endCursor": "<string>",
"startCursor": "<string>"
}
}Folders
List folders
GET
/
v1
/
deployments
/
{deploymentId}
/
folders
List folders
curl --request GET \
--url https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders', 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://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/folders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"createdAt": "2023-12-25",
"deploymentId": 123,
"id": 123,
"name": "<string>",
"position": 123,
"type": "FOLDER",
"updatedAt": "2023-12-25",
"createdBy": 123,
"parentId": 123,
"updatedBy": 123
}
],
"items": [
{
"createdAt": "2023-12-25",
"deploymentId": 123,
"id": 123,
"name": "<string>",
"position": 123,
"type": "FOLDER",
"updatedAt": "2023-12-25",
"createdBy": 123,
"parentId": 123,
"updatedBy": 123
}
],
"count": 1,
"pageInfo": {
"hasNextPage": true,
"hasPreviousPage": true,
"endCursor": "<string>",
"startCursor": "<string>"
}
}List the folders in a deployment’s workspace.
By default this returns the folders at the workspace root. Pass the
parentId query parameter to list the direct children of a specific folder instead.
Results are scoped to the calling user: only folders the user can see are returned. A folder is visible when the user owns it, has been granted access to it directly, or has access to something inside it (a sub-folder, workbook, or dashboard), in which case the ancestor folders are surfaced as navigation.
This endpoint is not recursive — it returns a single level of the folder tree per call. Use parentId to walk deeper, or GET /folders/{folderId}/ancestors to resolve a breadcrumb path.
Results are returned in pages using cursor-based pagination: pass first to set the page size and after (the previous response’s pageInfo.endCursor) to fetch the next page. The legacy data and count fields are still populated for backwards compatibility but are deprecated in favour of items and pageInfo.Authorizations
Token authentication. Send Authorization: Bearer <YOUR_TOKEN>.
Path Parameters
Query Parameters
Required range:
x >= 0Required range:
x >= 1Response
200 - application/json
Deprecated: use items instead. Kept for backward compatibility.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Deprecated: total number of accessible folders, ignoring pagination. Kept for backward compatibility.
Required range:
x >= 0Show child attributes
Show child attributes