List Integrations
curl --request GET \
--url https://api.leen.dev/v1/integrations/ \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.leen.dev/v1/integrations/"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.leen.dev/v1/integrations/', 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/integrations/",
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://api.leen.dev/v1/integrations/"
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://api.leen.dev/v1/integrations/")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.leen.dev/v1/integrations/")
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{
"count": 123,
"items": [
{
"categories": [
"VMS"
],
"data_exports": [
"alerts"
],
"description": "<string>",
"icon": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"integration_id": "<string>",
"name": "<string>",
"parameters": [
{}
],
"version": "<string>",
"deprecated": false
}
],
"total": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Integration Details
List Integration Details
Filterable catalog of the vendors Leen can connect to, with each vendor’s version, credential parameters, categories and data exports. A superset of the Connectors endpoint.
GET
/
integrations
/
List Integrations
curl --request GET \
--url https://api.leen.dev/v1/integrations/ \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.leen.dev/v1/integrations/"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.leen.dev/v1/integrations/', 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/integrations/",
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://api.leen.dev/v1/integrations/"
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://api.leen.dev/v1/integrations/")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.leen.dev/v1/integrations/")
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{
"count": 123,
"items": [
{
"categories": [
"VMS"
],
"data_exports": [
"alerts"
],
"description": "<string>",
"icon": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"integration_id": "<string>",
"name": "<string>",
"parameters": [
{}
],
"version": "<string>",
"deprecated": false
}
],
"total": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}An integration is a vendor that Leen can connect to. This endpoint returns the full catalog of supported integrations with their details; the response is the same for every organization, so you can call it without first creating a connection. Use the
category query parameter to narrow the list to one or more domains.
Each item’s integration_id (for example TENABLE, SNYK, WIZ_CODE) is the exact value to pass as vendor when creating a connection. data_exports lists the data types that integration produces, and categories maps to the domain sections of this documentation (AppSec, EDR, VMS, and so on). parameters describes the credential form fields for that integration — names and types only, never secret values.Authorizations
Query Parameters
Offset index of items (starting from 0)
Required range:
x >= 0Limit size (page size)
Required range:
x >= 0Filter by category, comma separated