List manual test suites
curl --request GET \
--url https://api.testdino.com/api/v1/public/{projectId}/manual-test-suites \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.testdino.com/api/v1/public/{projectId}/manual-test-suites"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.testdino.com/api/v1/public/{projectId}/manual-test-suites', 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://api.testdino.com/api/v1/public/{projectId}/manual-test-suites",
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://api.testdino.com/api/v1/public/{projectId}/manual-test-suites"
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://api.testdino.com/api/v1/public/{projectId}/manual-test-suites")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.testdino.com/api/v1/public/{projectId}/manual-test-suites")
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{
"success": true,
"data": [
{
"_id": "tcm_suite_6641a1b2c3d4e5f6a7b8c9d0",
"name": "Login Tests",
"description": "<string>",
"metadata": {
"lastModifiedBy": {
"name": "<string>",
"email": "<string>"
}
},
"hierarchy": {
"parentSuite": {
"_id": "<string>",
"name": "<string>"
},
"order": 123,
"depth": 123
},
"childSuitesCount": 123,
"children": "<array>",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"count": 123
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or unknown user PAT"
}
}List manual suites
List manual test suites for the project.
GET
/
{projectId}
/
manual-test-suites
List manual test suites
curl --request GET \
--url https://api.testdino.com/api/v1/public/{projectId}/manual-test-suites \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.testdino.com/api/v1/public/{projectId}/manual-test-suites"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.testdino.com/api/v1/public/{projectId}/manual-test-suites', 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://api.testdino.com/api/v1/public/{projectId}/manual-test-suites",
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://api.testdino.com/api/v1/public/{projectId}/manual-test-suites"
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://api.testdino.com/api/v1/public/{projectId}/manual-test-suites")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.testdino.com/api/v1/public/{projectId}/manual-test-suites")
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{
"success": true,
"data": [
{
"_id": "tcm_suite_6641a1b2c3d4e5f6a7b8c9d0",
"name": "Login Tests",
"description": "<string>",
"metadata": {
"lastModifiedBy": {
"name": "<string>",
"email": "<string>"
}
},
"hierarchy": {
"parentSuite": {
"_id": "<string>",
"name": "<string>"
},
"order": 123,
"depth": 123
},
"childSuitesCount": 123,
"children": "<array>",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"count": 123
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or unknown user PAT"
}
}Authorizations
User PAT (td_pat_) scoped to the target project
Path Parameters
The project identifier (e.g. project_abc123). Must match the project associated with your PAT.
Query Parameters
Filter to children of this suite. Omit to list every suite in the project.
Last modified on August 13, 2026
Was this page helpful?
⌘I