Search Groups
curl --request POST \
--url https://api.thehyperstack.com/v1/groups/search \
--header 'Content-Type: application/json' \
--data '
{
"keyword": "<string>",
"title": "<string>",
"strict": true,
"page": 123,
"page_size": 123
}
'import requests
url = "https://api.thehyperstack.com/v1/groups/search"
payload = {
"keyword": "<string>",
"title": "<string>",
"strict": True,
"page": 123,
"page_size": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
keyword: '<string>',
title: '<string>',
strict: true,
page: 123,
page_size: 123
})
};
fetch('https://api.thehyperstack.com/v1/groups/search', 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.thehyperstack.com/v1/groups/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'keyword' => '<string>',
'title' => '<string>',
'strict' => true,
'page' => 123,
'page_size' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.thehyperstack.com/v1/groups/search"
payload := strings.NewReader("{\n \"keyword\": \"<string>\",\n \"title\": \"<string>\",\n \"strict\": true,\n \"page\": 123,\n \"page_size\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.thehyperstack.com/v1/groups/search")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\",\n \"title\": \"<string>\",\n \"strict\": true,\n \"page\": 123,\n \"page_size\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.thehyperstack.com/v1/groups/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"keyword\": \"<string>\",\n \"title\": \"<string>\",\n \"strict\": true,\n \"page\": 123,\n \"page_size\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"total": 2,
"page": 1,
"page_size": 50,
"groups": [
{
"title": "Certificate of Security Course Completion",
"group_key": "Zvw1xPIqF7J7",
"group_code": "SCC-2023",
"last_modified": "2023-08-21T08:25:25.930Z",
"created_at": "2022-08-07T14:09:43.311Z"
},
{
"title": "Certificate of Cloud Management",
"group_key": "l2DdnE614Fs2",
"group_code": "CM-1",
"last_modified": "2023-08-21T08:25:25.930Z",
"created_at": "2022-08-07T14:09:43.311Z"
}
]
}
{
"detail": "Invalid token or organization not found"
}
Credential Groups
Search Groups
POST
/
v1
/
groups
/
search
Search Groups
curl --request POST \
--url https://api.thehyperstack.com/v1/groups/search \
--header 'Content-Type: application/json' \
--data '
{
"keyword": "<string>",
"title": "<string>",
"strict": true,
"page": 123,
"page_size": 123
}
'import requests
url = "https://api.thehyperstack.com/v1/groups/search"
payload = {
"keyword": "<string>",
"title": "<string>",
"strict": True,
"page": 123,
"page_size": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
keyword: '<string>',
title: '<string>',
strict: true,
page: 123,
page_size: 123
})
};
fetch('https://api.thehyperstack.com/v1/groups/search', 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.thehyperstack.com/v1/groups/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'keyword' => '<string>',
'title' => '<string>',
'strict' => true,
'page' => 123,
'page_size' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.thehyperstack.com/v1/groups/search"
payload := strings.NewReader("{\n \"keyword\": \"<string>\",\n \"title\": \"<string>\",\n \"strict\": true,\n \"page\": 123,\n \"page_size\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.thehyperstack.com/v1/groups/search")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\",\n \"title\": \"<string>\",\n \"strict\": true,\n \"page\": 123,\n \"page_size\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.thehyperstack.com/v1/groups/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"keyword\": \"<string>\",\n \"title\": \"<string>\",\n \"strict\": true,\n \"page\": 123,\n \"page_size\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"total": 2,
"page": 1,
"page_size": 50,
"groups": [
{
"title": "Certificate of Security Course Completion",
"group_key": "Zvw1xPIqF7J7",
"group_code": "SCC-2023",
"last_modified": "2023-08-21T08:25:25.930Z",
"created_at": "2022-08-07T14:09:43.311Z"
},
{
"title": "Certificate of Cloud Management",
"group_key": "l2DdnE614Fs2",
"group_code": "CM-1",
"last_modified": "2023-08-21T08:25:25.930Z",
"created_at": "2022-08-07T14:09:43.311Z"
}
]
}
{
"detail": "Invalid token or organization not found"
}
Description
This endpoint allows you to list all credential groups or filter them based on title and pagination.Headers
string
required
Bearer YOUR_API_TOKEN — obtainable from Hyperstack Dashboard → Settings → API Access
Body Parameters
string
required
Search keyword matched against group titles. Takes precedence over
title if both are provided. Partial word matches are supported unless strict is enabled.string
required
Alias for
keyword. Filter groups by title.boolean
required
When
true, the entire keyword must appear as a contiguous phrase in the title. When false (default), any word in the keyword can match independently.number
required
The page number for pagination (default is 1).
number
required
The number of groups to return per page (default is 50).
Success Response Fields
boolean
Indicates whether the group search was successful.
array[object]
An array of credential group objects matching the search criteria.
number
Current page number in the results.
number
Number of groups returned per page.
number
Total number of groups matching the search.
Responses
{
"success": true,
"total": 2,
"page": 1,
"page_size": 50,
"groups": [
{
"title": "Certificate of Security Course Completion",
"group_key": "Zvw1xPIqF7J7",
"group_code": "SCC-2023",
"last_modified": "2023-08-21T08:25:25.930Z",
"created_at": "2022-08-07T14:09:43.311Z"
},
{
"title": "Certificate of Cloud Management",
"group_key": "l2DdnE614Fs2",
"group_code": "CM-1",
"last_modified": "2023-08-21T08:25:25.930Z",
"created_at": "2022-08-07T14:09:43.311Z"
}
]
}
{
"detail": "Invalid token or organization not found"
}
Last modified on February 22, 2026
Was this page helpful?
⌘I

