List Groups
curl --request POST \
--url https://api.thehyperstack.com/v1/groups/all \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"page": 123,
"page_size": 123
}
'import requests
url = "https://api.thehyperstack.com/v1/groups/all"
payload = {
"page": 123,
"page_size": 123
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({page: 123, page_size: 123})
};
fetch('https://api.thehyperstack.com/v1/groups/all', 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/all",
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([
'page' => 123,
'page_size' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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/all"
payload := strings.NewReader("{\n \"page\": 123,\n \"page_size\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
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/all")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"page\": 123,\n \"page_size\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.thehyperstack.com/v1/groups/all")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": 123,\n \"page_size\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"total": 2,
"page": 1,
"page_size": 100,
"groups": [
{
"title": "Cloud Security Fundamentals",
"group_id": "Kq7Zp2LmX9aB",
"description": "Awarded for completing the Cloud Security Fundamentals course.",
"website": "https://acme.example.com/courses/cloud-security",
"group_code": "CSF-2026"
},
{
"title": "Data Privacy Basics",
"group_id": "Rt5Yh8NwE3uC",
"description": "Awarded for completing the Data Privacy Basics workshop.",
"website": "",
"group_code": "DPB-2026"
}
]
}
{
"success": false,
"error": "page must be a whole number of 1 or more, and page_size a whole number up to 500",
"error_code": "invalid_page"
}
{
"detail": "Invalid token or organization not found"
}
Credential Groups
List Groups
POST
/
v1
/
groups
/
all
List Groups
curl --request POST \
--url https://api.thehyperstack.com/v1/groups/all \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"page": 123,
"page_size": 123
}
'import requests
url = "https://api.thehyperstack.com/v1/groups/all"
payload = {
"page": 123,
"page_size": 123
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({page: 123, page_size: 123})
};
fetch('https://api.thehyperstack.com/v1/groups/all', 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/all",
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([
'page' => 123,
'page_size' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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/all"
payload := strings.NewReader("{\n \"page\": 123,\n \"page_size\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
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/all")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"page\": 123,\n \"page_size\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.thehyperstack.com/v1/groups/all")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": 123,\n \"page_size\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"total": 2,
"page": 1,
"page_size": 100,
"groups": [
{
"title": "Cloud Security Fundamentals",
"group_id": "Kq7Zp2LmX9aB",
"description": "Awarded for completing the Cloud Security Fundamentals course.",
"website": "https://acme.example.com/courses/cloud-security",
"group_code": "CSF-2026"
},
{
"title": "Data Privacy Basics",
"group_id": "Rt5Yh8NwE3uC",
"description": "Awarded for completing the Data Privacy Basics workshop.",
"website": "",
"group_code": "DPB-2026"
}
]
}
{
"success": false,
"error": "page must be a whole number of 1 or more, and page_size a whole number up to 500",
"error_code": "invalid_page"
}
{
"detail": "Invalid token or organization not found"
}
Description
Returns all credential groups of your organization, page by page. Archived groups are included. The legacy path/v1/group/all does the same.
Headers
string
required
Your API key:
Bearer YOUR_API_KEY. Create a key in the Studio under Settings → Developers.Body Parameters
number
default:"1"
Page number. Starts at
1. Send a whole number, such as 2 or "2".number
default:"100"
How many groups on each page, up to
500. A bigger value is cut to 500, and page_size in the response shows the size used.Success Response Fields
boolean
true when the request worked.number
Number of groups in your organization.
number
The page number of this response.
number
The page size used.
array[object]
Responses
{
"success": true,
"total": 2,
"page": 1,
"page_size": 100,
"groups": [
{
"title": "Cloud Security Fundamentals",
"group_id": "Kq7Zp2LmX9aB",
"description": "Awarded for completing the Cloud Security Fundamentals course.",
"website": "https://acme.example.com/courses/cloud-security",
"group_code": "CSF-2026"
},
{
"title": "Data Privacy Basics",
"group_id": "Rt5Yh8NwE3uC",
"description": "Awarded for completing the Data Privacy Basics workshop.",
"website": "",
"group_code": "DPB-2026"
}
]
}
{
"success": false,
"error": "page must be a whole number of 1 or more, and page_size a whole number up to 500",
"error_code": "invalid_page"
}
{
"detail": "Invalid token or organization not found"
}
curl -X POST "https://api.thehyperstack.com/v1/groups/all" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"page": 1,
"page_size": 100
}'
Last modified on October 20, 2026
Was this page helpful?

