Read Query Folder
curl --request GET \
--url https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}', 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://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}",
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://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}"
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://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}")
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{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Reports",
"path": "/Reports",
"parentId": null,
"createdAt": "2025-01-15T10:30:00Z",
"folders": [
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"name": "Monthly",
"path": "/Reports/Monthly",
"parentId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2025-01-15T10:31:00Z"
}
],
"queries": [
{
"id": "709922802836177297",
"displayName": "Revenue Report",
"name": "revenuereport",
"inputQuery": "SELECT * FROM revenue",
"path": "/Reports",
"folderId": "550e8400-e29b-41d4-a716-446655440000"
}
]
}{
"id": "<string>",
"name": "<string>",
"path": "<string>",
"parentId": "<string>",
"createdAt": "<string>",
"folders": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Monthly Reports",
"path": "/reports/monthly",
"parentId": "550e8400-e29b-41d4-a716-446655440001",
"createdAt": "2025-01-15T10:30:00Z"
}
],
"queries": [
{
"id": "<string>",
"displayName": "<string>",
"name": "<string>",
"inputQuery": "<string>",
"schedule": {
"type": "cron",
"cronExpression": "0 0 * * *",
"timezone": "UTC"
},
"path": "<string>",
"folderId": "<string>"
}
]
}Data -- Query Folders
Read Query Folder
Returns a single folder by its ID, including its direct child folders and the queries it contains.
GET
/
data
/
projects
/
{projectId}
/
queries
/
folders
/
{folderId}
Read Query Folder
curl --request GET \
--url https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}', 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://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}",
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://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}"
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://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries/folders/{folderId}")
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{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Reports",
"path": "/Reports",
"parentId": null,
"createdAt": "2025-01-15T10:30:00Z",
"folders": [
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"name": "Monthly",
"path": "/Reports/Monthly",
"parentId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2025-01-15T10:31:00Z"
}
],
"queries": [
{
"id": "709922802836177297",
"displayName": "Revenue Report",
"name": "revenuereport",
"inputQuery": "SELECT * FROM revenue",
"path": "/Reports",
"folderId": "550e8400-e29b-41d4-a716-446655440000"
}
]
}{
"id": "<string>",
"name": "<string>",
"path": "<string>",
"parentId": "<string>",
"createdAt": "<string>",
"folders": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Monthly Reports",
"path": "/reports/monthly",
"parentId": "550e8400-e29b-41d4-a716-446655440001",
"createdAt": "2025-01-15T10:30:00Z"
}
],
"queries": [
{
"id": "<string>",
"displayName": "<string>",
"name": "<string>",
"inputQuery": "<string>",
"schedule": {
"type": "cron",
"cronExpression": "0 0 * * *",
"timezone": "UTC"
},
"path": "<string>",
"folderId": "<string>"
}
]
}

Authorizations
Use the Authorization header with the value 'Bearer ' to authenticate. Partner API Keys have full access; Project API Keys are limited to their project scope. Learn more: https://docs.peaka.com/api-reference/authentication
Path Parameters
ID of the Project
ID of the Query Folder
Response
Folder read successfully
A folder with its direct child folders and queries
Unique identifier of the folder (UUID)
Display name of the folder
Full path of the folder in the hierarchy
ID of the parent folder, null if root-level
Timestamp when the folder was created (ISO 8601)
Direct child folders
Show child attributes
Show child attributes
Queries contained in this folder
Show child attributes
Show child attributes
⌘I