Get Compliance Report
curl --request GET \
--url https://use.hoop.dev/api/reports/complianceimport requests
url = "https://use.hoop.dev/api/reports/compliance"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://use.hoop.dev/api/reports/compliance', 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://use.hoop.dev/api/reports/compliance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://use.hoop.dev/api/reports/compliance"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://use.hoop.dev/api/reports/compliance")
.asString();require 'uri'
require 'net/http'
url = URI("https://use.hoop.dev/api/reports/compliance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"action_required": [
{
"action": {
"label": "Go to Resources ↗",
"target": "/resources",
"type": "app"
},
"category": "identity",
"evidence": "Authentication method: OIDC",
"id": "sso_enabled",
"message": "SSO is enabled via OIDC provider",
"status": "compliant",
"title": "Single Sign-On Enabled"
}
],
"categories": [
{
"compliant": 123,
"id": "identity",
"title": "Identity",
"total": 123
}
],
"frameworks": [
{
"breakdown": {
"compliant": 123,
"idp_dependent": 123,
"informational": 123,
"non_compliant": 123,
"not_applicable": 123,
"unable_to_verify": 123,
"warning": 123
},
"compliant": 123,
"groups": [
{
"controls": [
{
"action": {
"label": "Go to Resources ↗",
"target": "/resources",
"type": "app"
},
"category": "<string>",
"check_id": "sso_enabled",
"description": "<string>",
"evidence": "<string>",
"id": "CC6.1",
"message": "<string>",
"status": "compliant",
"title": "<string>"
}
],
"id": "CC6",
"title": "Logical and Physical Access Controls"
}
],
"id": "soc2",
"level": "low",
"name": "SOC 2 Type II",
"score_percent": 85,
"total_applicable": 123
}
],
"generated_at": "<string>",
"overall": {
"compliant": 123,
"level": "low",
"score": 812,
"total_applicable": 123
}
}{
"message": "the error description"
}Reports
Get Compliance Report
Computes the compliance report with an overall score, category summaries, actionable items and per-framework control evaluations.
GET
/
reports
/
compliance
Get Compliance Report
curl --request GET \
--url https://use.hoop.dev/api/reports/complianceimport requests
url = "https://use.hoop.dev/api/reports/compliance"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://use.hoop.dev/api/reports/compliance', 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://use.hoop.dev/api/reports/compliance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://use.hoop.dev/api/reports/compliance"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://use.hoop.dev/api/reports/compliance")
.asString();require 'uri'
require 'net/http'
url = URI("https://use.hoop.dev/api/reports/compliance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"action_required": [
{
"action": {
"label": "Go to Resources ↗",
"target": "/resources",
"type": "app"
},
"category": "identity",
"evidence": "Authentication method: OIDC",
"id": "sso_enabled",
"message": "SSO is enabled via OIDC provider",
"status": "compliant",
"title": "Single Sign-On Enabled"
}
],
"categories": [
{
"compliant": 123,
"id": "identity",
"title": "Identity",
"total": 123
}
],
"frameworks": [
{
"breakdown": {
"compliant": 123,
"idp_dependent": 123,
"informational": 123,
"non_compliant": 123,
"not_applicable": 123,
"unable_to_verify": 123,
"warning": 123
},
"compliant": 123,
"groups": [
{
"controls": [
{
"action": {
"label": "Go to Resources ↗",
"target": "/resources",
"type": "app"
},
"category": "<string>",
"check_id": "sso_enabled",
"description": "<string>",
"evidence": "<string>",
"id": "CC6.1",
"message": "<string>",
"status": "compliant",
"title": "<string>"
}
],
"id": "CC6",
"title": "Logical and Physical Access Controls"
}
],
"id": "soc2",
"level": "low",
"name": "SOC 2 Type II",
"score_percent": 85,
"total_applicable": 123
}
],
"generated_at": "<string>",
"overall": {
"compliant": 123,
"level": "low",
"score": 812,
"total_applicable": 123
}
}{
"message": "the error description"
}Response
OK
ActionRequired lists actionable checks with warning or non_compliant status
Show child attributes
Show child attributes
Categories summarize the checks by security domain
Show child attributes
Show child attributes
Frameworks are the per-framework control evaluations
Show child attributes
Show child attributes
GeneratedAt is the UTC timestamp when the report was computed
Overall is the aggregated compliance score
Show child attributes
Show child attributes
Was this page helpful?