Get a project group
curl --request GET \
--url https://www.ruddr.io/api/workspace/project-groups/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.ruddr.io/api/workspace/project-groups/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.ruddr.io/api/workspace/project-groups/{id}', 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://www.ruddr.io/api/workspace/project-groups/{id}",
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://www.ruddr.io/api/workspace/project-groups/{id}"
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://www.ruddr.io/api/workspace/project-groups/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/project-groups/{id}")
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": "c4e8f2a1-7b35-4d90-9c61-d8a3e5f07b24",
"name": "Digital Transformation",
"description": "End-to-end digital transformation initiatives for financial services.",
"isActive": true,
"createdAt": "2025-09-14T08:27:15.643Z",
"client": {
"id": "f1d7b3e9-2a56-4c80-a4f8-e6c9d0b52a18",
"name": "Meridian Financial Group"
},
"projects": [
{
"id": "a9c3e7f1-6d48-4b25-8e0a-b5d2f8c41e93",
"name": "Core Banking Migration"
},
{
"id": "d2f6a0b4-8e13-4c79-91d5-c7e3f9a28b60",
"name": "Mobile App Redesign"
}
]
}{
"status": 400,
"message": "Parameter 'id' is not a valid UUID."
}{
"status": 403,
"message": "Feature 'Project Groups' is not enabled."
}{
"status": 404,
"message": "Object with id 'b8e4d2a1-6f39-4c75-91d0-a3e7b5f18c62' not found."
}Project Groups
Get a project group
GET
/
project-groups
/
{id}
Get a project group
curl --request GET \
--url https://www.ruddr.io/api/workspace/project-groups/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.ruddr.io/api/workspace/project-groups/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.ruddr.io/api/workspace/project-groups/{id}', 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://www.ruddr.io/api/workspace/project-groups/{id}",
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://www.ruddr.io/api/workspace/project-groups/{id}"
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://www.ruddr.io/api/workspace/project-groups/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/project-groups/{id}")
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": "c4e8f2a1-7b35-4d90-9c61-d8a3e5f07b24",
"name": "Digital Transformation",
"description": "End-to-end digital transformation initiatives for financial services.",
"isActive": true,
"createdAt": "2025-09-14T08:27:15.643Z",
"client": {
"id": "f1d7b3e9-2a56-4c80-a4f8-e6c9d0b52a18",
"name": "Meridian Financial Group"
},
"projects": [
{
"id": "a9c3e7f1-6d48-4b25-8e0a-b5d2f8c41e93",
"name": "Core Banking Migration"
},
{
"id": "d2f6a0b4-8e13-4c79-91d5-c7e3f9a28b60",
"name": "Mobile App Redesign"
}
]
}{
"status": 400,
"message": "Parameter 'id' is not a valid UUID."
}{
"status": 403,
"message": "Feature 'Project Groups' is not enabled."
}{
"status": 404,
"message": "Object with id 'b8e4d2a1-6f39-4c75-91d0-a3e7b5f18c62' not found."
}A collection of related projects under a client, used for organizing and filtering.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The project group uuid.
Response
200
The unique identifier for the object.
The name of the project group.
A description of the project group.
Whether the project group is active.
The timestamp when the object was created.
The client this project group belongs to.
Show child attributes
Show child attributes
The projects in this project group.
Show child attributes
Show child attributes
⌘I