curl --request GET \
--url https://app.base44.com/api/v1/compliance/{workspace_id}/security-findings \
--header 'Authorization: Bearer <token>' \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/v1/compliance/{workspace_id}/security-findings"
headers = {
"api_key": "<api-key>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {api_key: '<api-key>', Authorization: 'Bearer <token>'}
};
fetch('https://app.base44.com/api/v1/compliance/{workspace_id}/security-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://app.base44.com/api/v1/compliance/{workspace_id}/security-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 => [
"Authorization: Bearer <token>",
"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://app.base44.com/api/v1/compliance/{workspace_id}/security-findings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
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://app.base44.com/api/v1/compliance/{workspace_id}/security-findings")
.header("api_key", "<api-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/v1/compliance/{workspace_id}/security-findings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyList security findings
Retrieves a list of security issues for the apps in a workspace. Issues come from the Base44 security scan and from connected 3rd-party scanners, such as Wiz.
Use this method to view, for each issue:
- What the scan found, and how severe it is.
- Where the issue is, such as an entity, a file, or a package.
- Whether it’s open, resolved, or dismissed.
The list only includes issues from the latest successful scan for each app. It’s not a history of previous scans.
To call this method, your API key must include the compliance:inventory:read and compliance:findings:read scopes.
curl --request GET \
--url https://app.base44.com/api/v1/compliance/{workspace_id}/security-findings \
--header 'Authorization: Bearer <token>' \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/v1/compliance/{workspace_id}/security-findings"
headers = {
"api_key": "<api-key>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {api_key: '<api-key>', Authorization: 'Bearer <token>'}
};
fetch('https://app.base44.com/api/v1/compliance/{workspace_id}/security-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://app.base44.com/api/v1/compliance/{workspace_id}/security-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 => [
"Authorization: Bearer <token>",
"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://app.base44.com/api/v1/compliance/{workspace_id}/security-findings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
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://app.base44.com/api/v1/compliance/{workspace_id}/security-findings")
.header("api_key", "<api-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/v1/compliance/{workspace_id}/security-findings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyAuthorizations
Identifies the workspace you can read and limits your access to the key's scopes. A workspace owner or admin creates the key and shares it with you. See Workspace API key for more details.
The signed authentication token that identifies you as the security partner. Sign a new token for each request with your signing key, using RS256 or ES256, and send it as a bearer token in the Authorization header. See Sign an authentication token for more details.
Path Parameters
Workspace ID. Learn more about how to retrieve your workspace ID.
Query Parameters
Cursor for the next page. Pass the next_cursor value from the previous response back unchanged. Don't send limit with it, because the cursor already carries the limit. Cursors are valid for 24 hours, and a cursor from a different workspace isn't valid. Sending limit with a cursor, or an invalid cursor, returns a 400 error.
Number of items per page. The maximum is 1000. Don't send it with cursor, because the cursor already carries the limit.
Default: 100.
1 <= x <= 1000Was this page helpful?