List Projects
curl --request GET \
--url https://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects \
--header 'Authorization: Bearer <token>'import requests
url = "https://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects', 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://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects",
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://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects"
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://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects")
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{
"items": [
{
"project_id": "a7b8c9d0-e1f2-3456-abcd-567890123456",
"name": "Month-end close",
"description": null,
"active": true
}
],
"limit": 20,
"next_cursor": null
}Projects
List Projects
List the projects in a workspace. Results are paginated using a cursor. Use the project_id of a project when you create or list virtual keys for it. Administrators can list the projects in any workspace of the account. Workspace Administrators can list the projects only in workspaces where they hold the Workspace Administrator role. A workspace outside the caller’s reach returns 404.
GET
/
workspaces
/
{workspace_id}
/
projects
List Projects
curl --request GET \
--url https://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects \
--header 'Authorization: Bearer <token>'import requests
url = "https://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects', 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://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects",
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://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects"
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://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.cdata.com/api/v1/admin/workspaces/{workspace_id}/projects")
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{
"items": [
{
"project_id": "a7b8c9d0-e1f2-3456-abcd-567890123456",
"name": "Month-end close",
"description": null,
"active": true
}
],
"limit": 20,
"next_cursor": null
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Workspace identifier (UUID).
Query Parameters
Maximum number of results to return per page.
Opaque pagination cursor from next_cursor in the previous response. Omit to start from the beginning.
Last modified on November 5, 2026
Was this page helpful?