curl
curl -X GET "https://sandbox-api.sannos.ai/v2/compliance-frameworks" \
-H "X-API-Key: $EVE_COMPANY_KEY"const res = await fetch("https://sandbox-api.sannos.ai/v2/compliance-frameworks", {
method: "GET",
headers: { "X-API-Key": process.env.EVE_COMPANY_KEY },
});
const data = await res.json();import os, requests
res = requests.get(
"https://sandbox-api.sannos.ai/v2/compliance-frameworks",
headers={"X-API-Key": os.environ["EVE_COMPANY_KEY"]},
)
data = res.json()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.sannos.ai/v2/compliance-frameworks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://sandbox-api.sannos.ai/v2/compliance-frameworks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.sannos.ai/v2/compliance-frameworks")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.sannos.ai/v2/compliance-frameworks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"frameworks": [
{
"controls": [
{
"id": "<string>",
"name": "<string>",
"version": "<string>"
}
],
"frameworkGroup": "<string>",
"id": "<string>",
"name": "<string>",
"description": "<string>"
}
]
}Frameworks & Controls
List all published compliance frameworks with their controls.
List all published compliance frameworks with their controls.
Returns all published compliance frameworks, each with its published controls nested inside.
Use the returned framework ID as complianceFrameworkId and control ID as controlId
when submitting documents with an organizationUnitId.
Authentication: Required (X-API-Key header)
Response includes:
frameworks- Array of published compliance frameworksid- Framework unique identifier (ULID format). Use ascomplianceFrameworkIdwhen submitting documentsname- Framework display namedescription- Framework description (may be null)frameworkGroup- Framework category (e.g., “ISO 27001”, “SOC report”, “GDPR”)controls- Array of published controls for this frameworkid- Control unique identifier (ULID format). Use ascontrolIdwhen submitting documentsname- Control display nameversion- Control version (may be null)
Use Cases:
- Discover available frameworks and controls in a single call before document submission
- Populate framework/control selection dropdowns in partner UI
- Map partner’s compliance needs to available frameworks
GET
/
v2
/
compliance-frameworks
curl
curl -X GET "https://sandbox-api.sannos.ai/v2/compliance-frameworks" \
-H "X-API-Key: $EVE_COMPANY_KEY"const res = await fetch("https://sandbox-api.sannos.ai/v2/compliance-frameworks", {
method: "GET",
headers: { "X-API-Key": process.env.EVE_COMPANY_KEY },
});
const data = await res.json();import os, requests
res = requests.get(
"https://sandbox-api.sannos.ai/v2/compliance-frameworks",
headers={"X-API-Key": os.environ["EVE_COMPANY_KEY"]},
)
data = res.json()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.sannos.ai/v2/compliance-frameworks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://sandbox-api.sannos.ai/v2/compliance-frameworks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.sannos.ai/v2/compliance-frameworks")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.sannos.ai/v2/compliance-frameworks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"frameworks": [
{
"controls": [
{
"id": "<string>",
"name": "<string>",
"version": "<string>"
}
],
"frameworkGroup": "<string>",
"id": "<string>",
"name": "<string>",
"description": "<string>"
}
]
}