curl --request GET \
--url https://api.leen.dev/v1/vms/vulnerabilities/{vuln_id} \
--header 'X-API-KEY: <api-key>' \
--header 'X-CONNECTION-ID: <api-key>'import requests
url = "https://api.leen.dev/v1/vms/vulnerabilities/{vuln_id}"
headers = {
"X-API-KEY": "<api-key>",
"X-CONNECTION-ID": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-KEY': '<api-key>', 'X-CONNECTION-ID': '<api-key>'}
};
fetch('https://api.leen.dev/v1/vms/vulnerabilities/{vuln_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://api.leen.dev/v1/vms/vulnerabilities/{vuln_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 => [
"X-API-KEY: <api-key>",
"X-CONNECTION-ID: <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.leen.dev/v1/vms/vulnerabilities/{vuln_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-CONNECTION-ID", "<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.leen.dev/v1/vms/vulnerabilities/{vuln_id}")
.header("X-API-KEY", "<api-key>")
.header("X-CONNECTION-ID", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.leen.dev/v1/vms/vulnerabilities/{vuln_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-CONNECTION-ID"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"category": "web",
"cert_id": "<string>",
"cve": [
"<string>"
],
"cvss_base_score": 123,
"cvss_temporal_score": 123,
"cvss_temporal_vector": "<string>",
"cvss_vector": "<string>",
"cvss_version": "<string>",
"description": "<string>",
"first_seen": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_seen": "2023-11-07T05:31:56Z",
"name": "<string>",
"patchable": true,
"port": 123,
"protocol": "<string>",
"scan_output": "<string>",
"service": "<string>",
"solution": "<string>",
"state_updated_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"vendor": "tenable",
"vendor_id": "<string>",
"vendor_scan_id": "<string>",
"vendor_severity": "<string>",
"device": {
"ad_info": {
"device_id": "<string>",
"domain": "<string>",
"org_unit": "<string>",
"site_name": "<string>"
},
"first_seen": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"installed_software": [
"<string>"
],
"last_seen": "2023-11-07T05:31:56Z",
"source_vendors": [
{
"vendor": "<string>",
"vendor_id": "<string>",
"agent_info": {
"agent_version": "<string>",
"policies": [
{}
],
"signature_version": "<string>"
}
}
],
"status": "active",
"cloud_metadata": {
"account_id": "<string>",
"availability_zone": "<string>",
"cloud_provider": "aws",
"image_id": "<string>",
"instance_id": "<string>",
"instance_type": "<string>",
"kernel_id": "<string>",
"region": "<string>",
"subnet_id": "<string>",
"vpc_id": "<string>"
},
"fqdns": [
"<string>"
],
"hostnames": [
"<string>"
],
"identities": [
{
"username": "<string>",
"user_sid": "<string>"
}
],
"ipv4s": [
"<string>"
],
"ipv6s": [
"<string>"
],
"mac_addresses": [
"<string>"
],
"os_major_version": "<string>",
"os_minor_version": "<string>",
"os_version": "<string>",
"platform": "mac",
"tags": [
{
"key": "<string>",
"source": "aws",
"value": "<string>"
}
],
"vendor_data": {}
},
"resource": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"state": "ACTIVE",
"type": "BRANCH",
"vendor": "<string>",
"vendor_attributes": {
"id": "<string>",
"data": {
"host_id": "<string>",
"vendor": "qualys",
"asset_id": "<string>",
"tracking_method": "<string>"
}
},
"cloud_metadata": {
"account_id": "<string>",
"account_name": "<string>",
"cloud_provider": "<string>",
"image_id": "<string>",
"instance_id": "<string>",
"instance_type": "<string>",
"region": "<string>",
"subnet_id": "<string>",
"vpc_id": "<string>"
},
"data": {
"hostnames": [
"<string>"
],
"image": "<string>"
},
"first_seen": "2023-11-07T05:31:56Z",
"groups": [
{
"name": "<string>",
"uid": "<string>"
}
],
"last_seen": "2023-11-07T05:31:56Z",
"tags": [
{
"key": "<string>",
"source": "wiz_vms",
"value": "<string>"
}
],
"url": "<string>"
},
"severity": "none",
"state": "open",
"vendor_data": {},
"vulnerability_url": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Get Vulnerability by ID
Retrieve a vulnerability by its ID (Leen’s UUID)
curl --request GET \
--url https://api.leen.dev/v1/vms/vulnerabilities/{vuln_id} \
--header 'X-API-KEY: <api-key>' \
--header 'X-CONNECTION-ID: <api-key>'import requests
url = "https://api.leen.dev/v1/vms/vulnerabilities/{vuln_id}"
headers = {
"X-API-KEY": "<api-key>",
"X-CONNECTION-ID": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-KEY': '<api-key>', 'X-CONNECTION-ID': '<api-key>'}
};
fetch('https://api.leen.dev/v1/vms/vulnerabilities/{vuln_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://api.leen.dev/v1/vms/vulnerabilities/{vuln_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 => [
"X-API-KEY: <api-key>",
"X-CONNECTION-ID: <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.leen.dev/v1/vms/vulnerabilities/{vuln_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-CONNECTION-ID", "<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.leen.dev/v1/vms/vulnerabilities/{vuln_id}")
.header("X-API-KEY", "<api-key>")
.header("X-CONNECTION-ID", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.leen.dev/v1/vms/vulnerabilities/{vuln_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-CONNECTION-ID"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"category": "web",
"cert_id": "<string>",
"cve": [
"<string>"
],
"cvss_base_score": 123,
"cvss_temporal_score": 123,
"cvss_temporal_vector": "<string>",
"cvss_vector": "<string>",
"cvss_version": "<string>",
"description": "<string>",
"first_seen": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_seen": "2023-11-07T05:31:56Z",
"name": "<string>",
"patchable": true,
"port": 123,
"protocol": "<string>",
"scan_output": "<string>",
"service": "<string>",
"solution": "<string>",
"state_updated_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"vendor": "tenable",
"vendor_id": "<string>",
"vendor_scan_id": "<string>",
"vendor_severity": "<string>",
"device": {
"ad_info": {
"device_id": "<string>",
"domain": "<string>",
"org_unit": "<string>",
"site_name": "<string>"
},
"first_seen": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"installed_software": [
"<string>"
],
"last_seen": "2023-11-07T05:31:56Z",
"source_vendors": [
{
"vendor": "<string>",
"vendor_id": "<string>",
"agent_info": {
"agent_version": "<string>",
"policies": [
{}
],
"signature_version": "<string>"
}
}
],
"status": "active",
"cloud_metadata": {
"account_id": "<string>",
"availability_zone": "<string>",
"cloud_provider": "aws",
"image_id": "<string>",
"instance_id": "<string>",
"instance_type": "<string>",
"kernel_id": "<string>",
"region": "<string>",
"subnet_id": "<string>",
"vpc_id": "<string>"
},
"fqdns": [
"<string>"
],
"hostnames": [
"<string>"
],
"identities": [
{
"username": "<string>",
"user_sid": "<string>"
}
],
"ipv4s": [
"<string>"
],
"ipv6s": [
"<string>"
],
"mac_addresses": [
"<string>"
],
"os_major_version": "<string>",
"os_minor_version": "<string>",
"os_version": "<string>",
"platform": "mac",
"tags": [
{
"key": "<string>",
"source": "aws",
"value": "<string>"
}
],
"vendor_data": {}
},
"resource": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"state": "ACTIVE",
"type": "BRANCH",
"vendor": "<string>",
"vendor_attributes": {
"id": "<string>",
"data": {
"host_id": "<string>",
"vendor": "qualys",
"asset_id": "<string>",
"tracking_method": "<string>"
}
},
"cloud_metadata": {
"account_id": "<string>",
"account_name": "<string>",
"cloud_provider": "<string>",
"image_id": "<string>",
"instance_id": "<string>",
"instance_type": "<string>",
"region": "<string>",
"subnet_id": "<string>",
"vpc_id": "<string>"
},
"data": {
"hostnames": [
"<string>"
],
"image": "<string>"
},
"first_seen": "2023-11-07T05:31:56Z",
"groups": [
{
"name": "<string>",
"uid": "<string>"
}
],
"last_seen": "2023-11-07T05:31:56Z",
"tags": [
{
"key": "<string>",
"source": "wiz_vms",
"value": "<string>"
}
],
"url": "<string>"
},
"severity": "none",
"state": "open",
"vendor_data": {},
"vulnerability_url": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Path Parameters
Response
Successful Response
Vulnerability category
web, network, database, application, os, other, general, attack_vector Corresponds to an identifier in the vulnerability database provided by the US Computer Emergency Readiness Team (US-CERT)
List of CVEs associated with the vulnerability
CVSS base score
CVSS temporal score
CVSS temporal vector
CVSS vector uses cvss3 when available, provided by the upstream vendor
CVSS version
Description of vulnerability, provided by the upstream vendor
First detection date
Leen's UUID for the vulnerability
Last detection date
Name of vulnerability, provided by the upstream vendor
A patch is available
Port number of the vulnerability that was detected
Protocol of the vulnerability that was detected, example: tcp
Scan output that was provided when detected on the device
Service of the vulnerability that was detected, example: http
Solution for the vulnerability, provided by upstream vendor
The last time the state was updated
The last time the vulnerability was updated
Source vendor
tenable, qualys, snyk, insightvm, crowdstrike_spotlight, sentinelone_vms, MS_DEFENDER_VMS, WIZ_VMS, AWS_INSPECTOR2 Vendor's ID of the vulnerability
Vendor's ID of the scan that detected the
Passthrough value of severity
Device attached to the vulnerability, include device groups with includeDeviceGroups query parameter
- Device
- DeviceWithGroups
Show child attributes
Show child attributes
Resource attached to the vulnerability
Show child attributes
Show child attributes
critical, high, medium, low, info, none open, closed, reopened, ignored, deleted Vendor specific pass through data, values can vary based on vendor
URL to the vulnerability details, provided by the upstream vendor