Skip to main content
GET
/
scans
/
cve
/
{scan_id}
Retrieve a Scan Report
curl --request GET \
  --url https://v1.api.altostrat.io/scans/cve/{scan_id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://v1.api.altostrat.io/scans/cve/{scan_id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://v1.api.altostrat.io/scans/cve/{scan_id}', 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://v1.api.altostrat.io/scans/cve/{scan_id}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>"
  ],
]);

$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://v1.api.altostrat.io/scans/cve/{scan_id}"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://v1.api.altostrat.io/scans/cve/{scan_id}")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://v1.api.altostrat.io/scans/cve/{scan_id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": "9c46a6f1-a8d8-4f5a-9b2f-7d1b3e9c5a1d",
  "scan_schedule_id": "9c43cc95-f313-49a3-b632-524f7a24503b",
  "scan_id": "ABC-DEF-GHI",
  "targets": 1,
  "started_at": "2025-10-29T12:00:00Z",
  "finished_at": "2025-10-29T12:35:10Z",
  "runtime": "35 minutes",
  "average_score": 6.8,
  "highest_score": 9.8,
  "cve_count": 152,
  "unique_cves": 45,
  "open_ports": 210,
  "hosts_scanned": 55,
  "json_url": "<string>",
  "pdf_url": "<string>"
}
{
  "type": "invalid_request_error",
  "code": "parameter_missing",
  "message": "The 'description' parameter is required for this request.",
  "doc_url": "https://docs.altostrat.io/errors/parameter_missing"
}
{
  "type": "invalid_request_error",
  "code": "parameter_missing",
  "message": "The 'description' parameter is required for this request.",
  "doc_url": "https://docs.altostrat.io/errors/parameter_missing"
}
{
  "type": "invalid_request_error",
  "code": "parameter_missing",
  "message": "The 'description' parameter is required for this request.",
  "doc_url": "https://docs.altostrat.io/errors/parameter_missing"
}

Authorizations

Authorization
string
header
required

Enter your bearer token in the format: Bearer {token}

Path Parameters

scan_id
string<uuid>
required

The unique identifier of the scan report. This is the ID of the S3 object, not the human-readable scan_id field.

Example:

"9c46a6f1-a8d8-4f5a-9b2f-7d1b3e9c5a1d"

Response

The requested scan report details.

id
string<uuid>

The unique identifier for this scan result object.

Example:

"9c46a6f1-a8d8-4f5a-9b2f-7d1b3e9c5a1d"

scan_schedule_id
string<uuid>

The ID of the schedule that triggered this scan.

Example:

"9c43cc95-f313-49a3-b632-524f7a24503b"

scan_id
string

A human-readable, unique identifier for the scan.

Example:

"ABC-DEF-GHI"

targets
integer

The total number of sites targeted by this scan.

Example:

1

started_at
string<date-time>

The timestamp when the scan started.

Example:

"2025-10-29T12:00:00Z"

finished_at
string<date-time>

The timestamp when the scan finished.

Example:

"2025-10-29T12:35:10Z"

runtime
string

A human-readable string representing the scan's duration.

Example:

"35 minutes"

average_score
number<float>

The average CVSS score of all vulnerabilities found.

Example:

6.8

highest_score
number<float>

The highest CVSS score of any vulnerability found.

Example:

9.8

cve_count
integer

The total number of vulnerability instances found.

Example:

152

unique_cves
integer

The number of unique CVEs found.

Example:

45

open_ports
integer

The total number of open ports discovered across all hosts.

Example:

210

hosts_scanned
integer

The number of unique hosts discovered and scanned.

Example:

55

json_url
string<uri>

A pre-signed URL to download the full scan report in JSON format. The URL is valid for 30 minutes.

pdf_url
string<uri>

A pre-signed URL to download a PDF summary of the scan report. The URL is valid for 30 minutes.