Skip to main content
GET
/
data
/
projects
/
{projectId}
/
queries
List Queries
curl --request GET \
  --url https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries"

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', 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",
  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"

	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")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://partner.peaka.studio/api/v1/data/projects/{projectId}/queries")

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": "709891320440684892",
    "displayName": "sample2",
    "name": "sample2",
    "inputQuery": "",
    "path": "/reports/monthly",
    "folderId": "f_3np1a"
  },
  {
    "id": "702142445051183684",
    "displayName": "deneme",
    "name": "deneme",
    "inputQuery": "SELECT count(*) from \"examplestripecatalogname\".\"payment\".\"customers\""
  },
  {
    "id": "709891051854233848",
    "displayName": "sample",
    "name": "sample",
    "inputQuery": "",
    "path": "/reports/monthly",
    "folderId": "f_3np1a"
  },
  {
    "id": "709922802836177297",
    "displayName": "sampleQuery",
    "name": "samplequery",
    "inputQuery": "SELECT * from \"mycatalog\".payment.charges"
  },
  {
    "id": "709922802836177298",
    "displayName": "dailyRevenue",
    "name": "dailyrevenue",
    "inputQuery": "SELECT * from \"mycatalog\".payment.charges",
    "queryType": "MATERIALIZED",
    "schedule": {
      "type": "cron",
      "cronExpression": "0 0 * * *",
      "timezone": "UTC"
    }
  }
]

Authorizations

Authorization
string
header
required

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

projectId
string
required

ID of the Project

Response

200 - application/json

List of queries

id
string

The ID of the query.

displayName
string

The display name of the query.

name
string

The name of the query used in SQL, e.g. SELECT * FROM "peaka"."query"."". For a MATERIALIZED query the materialized result is queryable as "peaka"."mtquery"."".

inputQuery
string

The SQL query. For a materialized query created from an existing query (via inputQueryRefId), this holds the snapshot of the source query's SQL resolved when the query was created or last updated with the reference.

queryType
enum<string>

The type of the query.

Available options:
PLAIN,
MATERIALIZED
schedule
object | null

Schedule configuration of a materialized query. Provide EITHER an interval schedule (type=interval with repeatDuration) OR a cron schedule (type=cron with cronExpression and optional timezone). Use type=none for no schedule. The fields that do not apply to the chosen type are omitted.

Example:
{
  "type": "cron",
  "cronExpression": "0 0 * * *",
  "timezone": "UTC"
}
path
string | null

The folder path of the query (e.g. "/analytics/dashboards"). Null if not in any folder.

folderId
string | null

The ID of the folder containing this query. Null if not in any folder.