List TPRM Findings
curl --request GET \
--url https://api.leen.dev/v1/tprm/findings \
--header 'X-API-KEY: <api-key>' \
--header 'X-CONNECTION-ID: <api-key>'import requests
url = "https://api.leen.dev/v1/tprm/findings"
headers = {
"X-CONNECTION-ID": "<api-key>",
"X-API-KEY": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-CONNECTION-ID': '<api-key>', 'X-API-KEY': '<api-key>'}
};
fetch('https://api.leen.dev/v1/tprm/findings', 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/tprm/findings",
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/tprm/findings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-CONNECTION-ID", "<api-key>")
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://api.leen.dev/v1/tprm/findings")
.header("X-CONNECTION-ID", "<api-key>")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.leen.dev/v1/tprm/findings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-CONNECTION-ID"] = '<api-key>'
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"type": "<string>",
"domain": "<string>",
"asset_type": "<string>",
"asset_id": "<string>",
"first_seen": "2023-11-07T05:31:56Z",
"last_seen": "2023-11-07T05:31:56Z",
"connection_attributes": {
"ports": [
123
],
"geo_ip_location": "<string>",
"country": "<string>",
"observed_ips": [
"<string>"
]
},
"evidence": {},
"remediation": "<string>",
"provider_name": "<string>",
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"domain": "<string>",
"score": {
"rating": 123,
"grade": "<string>",
"factors": []
},
"industry": "<string>",
"size": "<string>",
"date_added": "2023-11-07T05:31:56Z",
"compliance_claimed": [
{
"standard": "<string>",
"last_updated_at": "2023-11-07T05:31:56Z"
}
],
"vendor_attributes": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"data": {
"type": "<string>",
"dashboard_link": "<string>",
"strategy_report_url": "<string>"
}
},
"related_portfolios": [
{
"id": "<string>",
"name": "<string>"
}
],
"updated_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
},
"vendor_attributes": {
"id": "<string>",
"type": "<string>",
"status": "<string>",
"severity": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"data": {
"finding_data": {
"control_id": "<string>",
"output": "<string>",
"title": "<string>",
"detail": "<string>"
}
}
},
"ticket": {
"ticket_id": "<string>",
"status": "<string>",
"owner": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status_updated_at": "2023-11-07T05:31:56Z"
}
],
"next_cursor": "<string>",
"previous_cursor": "<string>"
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"detail": [
{}
]
}Findings
List TPRM Findings
GET
/
tprm
/
findings
List TPRM Findings
curl --request GET \
--url https://api.leen.dev/v1/tprm/findings \
--header 'X-API-KEY: <api-key>' \
--header 'X-CONNECTION-ID: <api-key>'import requests
url = "https://api.leen.dev/v1/tprm/findings"
headers = {
"X-CONNECTION-ID": "<api-key>",
"X-API-KEY": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-CONNECTION-ID': '<api-key>', 'X-API-KEY': '<api-key>'}
};
fetch('https://api.leen.dev/v1/tprm/findings', 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/tprm/findings",
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/tprm/findings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-CONNECTION-ID", "<api-key>")
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://api.leen.dev/v1/tprm/findings")
.header("X-CONNECTION-ID", "<api-key>")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.leen.dev/v1/tprm/findings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-CONNECTION-ID"] = '<api-key>'
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"type": "<string>",
"domain": "<string>",
"asset_type": "<string>",
"asset_id": "<string>",
"first_seen": "2023-11-07T05:31:56Z",
"last_seen": "2023-11-07T05:31:56Z",
"connection_attributes": {
"ports": [
123
],
"geo_ip_location": "<string>",
"country": "<string>",
"observed_ips": [
"<string>"
]
},
"evidence": {},
"remediation": "<string>",
"provider_name": "<string>",
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"domain": "<string>",
"score": {
"rating": 123,
"grade": "<string>",
"factors": []
},
"industry": "<string>",
"size": "<string>",
"date_added": "2023-11-07T05:31:56Z",
"compliance_claimed": [
{
"standard": "<string>",
"last_updated_at": "2023-11-07T05:31:56Z"
}
],
"vendor_attributes": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"data": {
"type": "<string>",
"dashboard_link": "<string>",
"strategy_report_url": "<string>"
}
},
"related_portfolios": [
{
"id": "<string>",
"name": "<string>"
}
],
"updated_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
},
"vendor_attributes": {
"id": "<string>",
"type": "<string>",
"status": "<string>",
"severity": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"data": {
"finding_data": {
"control_id": "<string>",
"output": "<string>",
"title": "<string>",
"detail": "<string>"
}
}
},
"ticket": {
"ticket_id": "<string>",
"status": "<string>",
"owner": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status_updated_at": "2023-11-07T05:31:56Z"
}
],
"next_cursor": "<string>",
"previous_cursor": "<string>"
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"detail": [
{}
]
}Query Parameters
Company Filter, comma separated
Filter by severity (comma-separated list, e.g., 'CRITICAL,HIGH')
Filter by status (comma-separated list, e.g., 'OPEN,REOPENED')
Filter by type (comma-separated list)
Filter by vendor finding type (comma-separated list, e.g., 'websitesecurity')
Filter by findings first seen after this date
Filter by findings state updated after this date
Filter by findings last seen after this date
Datetime filter, only return items updated since this datetime. Example format: 2021-01-01T00:00:00+00:00
Skip token to continue from the last item in the previous page
Limit size (page size)
Required range:
x >= 0Response
Successful Response
⌘I