Get Skill Scan Report
curl --request GET \
--url https://api.enkryptai.com/skill-hub/scans/{scan_id}/report \
--header 'apikey: <api-key>'import requests
url = "https://api.enkryptai.com/skill-hub/scans/{scan_id}/report"
headers = {"apikey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {apikey: '<api-key>'}};
fetch('https://api.enkryptai.com/skill-hub/scans/{scan_id}/report', 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.enkryptai.com/skill-hub/scans/{scan_id}/report",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"apikey: <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://api.enkryptai.com/skill-hub/scans/{scan_id}/report"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("apikey", "<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://api.enkryptai.com/skill-hub/scans/{scan_id}/report")
.header("apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enkryptai.com/skill-hub/scans/{scan_id}/report")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["apikey"] = '<api-key>'
response = http.request(request)
puts response.read_body{}{
"code": 403,
"error": "Forbidden",
"message": "Skill Scanner APIs are an enterprise feature not enabled for your organization. Contact us at support@enkryptai.com for access.",
"request_id": "<string>",
"time": 123
}{
"error": "Forbidden",
"reason": "owner_mismatch",
"message": "This scan belongs to a different account than the authenticated consumer",
"consumer": {
"org_id": "<string>",
"user_id": "<string>",
"user_email": "<string>"
}
}{
"code": 403,
"error": "Forbidden",
"message": "Skill Scanner APIs are an enterprise feature not enabled for your organization. Contact us at support@enkryptai.com for access.",
"request_id": "<string>",
"time": 123
}{
"detail": [
{
"type": "value_error",
"loc": [
"body",
"git_url"
],
"msg": "Value error, git_url must be a full http(s) clone URL"
}
]
}π Skill Scanner API
Get Skill Scan Report
Returns only the report document for a completed scan β the same object as the report field of Get Skill Scan, without the surrounding record. Use this when you already have the metadata and want just the findings.
The shape is the scannerβs own report document and is not guaranteed stable field-for-field; treat it as a document to render or archive rather than a fixed schema.
Readable by any member of the organization that ran the scan; a scan belonging to a different organization is 403 with reason: "owner_mismatch".
GET
/
skill-hub
/
scans
/
{scan_id}
/
report
Get Skill Scan Report
curl --request GET \
--url https://api.enkryptai.com/skill-hub/scans/{scan_id}/report \
--header 'apikey: <api-key>'import requests
url = "https://api.enkryptai.com/skill-hub/scans/{scan_id}/report"
headers = {"apikey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {apikey: '<api-key>'}};
fetch('https://api.enkryptai.com/skill-hub/scans/{scan_id}/report', 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.enkryptai.com/skill-hub/scans/{scan_id}/report",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"apikey: <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://api.enkryptai.com/skill-hub/scans/{scan_id}/report"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("apikey", "<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://api.enkryptai.com/skill-hub/scans/{scan_id}/report")
.header("apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enkryptai.com/skill-hub/scans/{scan_id}/report")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["apikey"] = '<api-key>'
response = http.request(request)
puts response.read_body{}{
"code": 403,
"error": "Forbidden",
"message": "Skill Scanner APIs are an enterprise feature not enabled for your organization. Contact us at support@enkryptai.com for access.",
"request_id": "<string>",
"time": 123
}{
"error": "Forbidden",
"reason": "owner_mismatch",
"message": "This scan belongs to a different account than the authenticated consumer",
"consumer": {
"org_id": "<string>",
"user_id": "<string>",
"user_email": "<string>"
}
}{
"code": 403,
"error": "Forbidden",
"message": "Skill Scanner APIs are an enterprise feature not enabled for your organization. Contact us at support@enkryptai.com for access.",
"request_id": "<string>",
"time": 123
}{
"detail": [
{
"type": "value_error",
"loc": [
"body",
"git_url"
],
"msg": "Value error, git_url must be a full http(s) clone URL"
}
]
}βI

