curl --request PATCH \
--url https://www.corgea.app/api/v1/triage/findings \
--header 'CORGEA-TOKEN: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"justification": "<string>",
"rule": {
"company_wide": false,
"project_ids": [
123
],
"team_ids": [
123
],
"finding_types": [
"sast",
"sca"
],
"cwes": [
"CWE-79"
],
"cves": [
"CVE-2026-1000"
],
"path_patterns": [
"tests/**"
],
"severities": [],
"match": "all"
},
"apply": true,
"expiry_date": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://www.corgea.app/api/v1/triage/findings"
payload = {
"justification": "<string>",
"rule": {
"company_wide": False,
"project_ids": [123],
"team_ids": [123],
"finding_types": ["sast", "sca"],
"cwes": ["CWE-79"],
"cves": ["CVE-2026-1000"],
"path_patterns": ["tests/**"],
"severities": [],
"match": "all"
},
"apply": True,
"expiry_date": "2023-11-07T05:31:56Z"
}
headers = {
"CORGEA-TOKEN": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'CORGEA-TOKEN': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
justification: '<string>',
rule: {
company_wide: false,
project_ids: [123],
team_ids: [123],
finding_types: ['sast', 'sca'],
cwes: ['CWE-79'],
cves: ['CVE-2026-1000'],
path_patterns: ['tests/**'],
severities: [],
match: 'all'
},
apply: true,
expiry_date: '2023-11-07T05:31:56Z'
})
};
fetch('https://www.corgea.app/api/v1/triage/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://www.corgea.app/api/v1/triage/findings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'justification' => '<string>',
'rule' => [
'company_wide' => false,
'project_ids' => [
123
],
'team_ids' => [
123
],
'finding_types' => [
'sast',
'sca'
],
'cwes' => [
'CWE-79'
],
'cves' => [
'CVE-2026-1000'
],
'path_patterns' => [
'tests/**'
],
'severities' => [
],
'match' => 'all'
],
'apply' => true,
'expiry_date' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"CORGEA-TOKEN: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.corgea.app/api/v1/triage/findings"
payload := strings.NewReader("{\n \"justification\": \"<string>\",\n \"rule\": {\n \"company_wide\": false,\n \"project_ids\": [\n 123\n ],\n \"team_ids\": [\n 123\n ],\n \"finding_types\": [\n \"sast\",\n \"sca\"\n ],\n \"cwes\": [\n \"CWE-79\"\n ],\n \"cves\": [\n \"CVE-2026-1000\"\n ],\n \"path_patterns\": [\n \"tests/**\"\n ],\n \"severities\": [],\n \"match\": \"all\"\n },\n \"apply\": true,\n \"expiry_date\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("CORGEA-TOKEN", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://www.corgea.app/api/v1/triage/findings")
.header("CORGEA-TOKEN", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"justification\": \"<string>\",\n \"rule\": {\n \"company_wide\": false,\n \"project_ids\": [\n 123\n ],\n \"team_ids\": [\n 123\n ],\n \"finding_types\": [\n \"sast\",\n \"sca\"\n ],\n \"cwes\": [\n \"CWE-79\"\n ],\n \"cves\": [\n \"CVE-2026-1000\"\n ],\n \"path_patterns\": [\n \"tests/**\"\n ],\n \"severities\": [],\n \"match\": \"all\"\n },\n \"apply\": true,\n \"expiry_date\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.corgea.app/api/v1/triage/findings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["CORGEA-TOKEN"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"justification\": \"<string>\",\n \"rule\": {\n \"company_wide\": false,\n \"project_ids\": [\n 123\n ],\n \"team_ids\": [\n 123\n ],\n \"finding_types\": [\n \"sast\",\n \"sca\"\n ],\n \"cwes\": [\n \"CWE-79\"\n ],\n \"cves\": [\n \"CVE-2026-1000\"\n ],\n \"path_patterns\": [\n \"tests/**\"\n ],\n \"severities\": [],\n \"match\": \"all\"\n },\n \"apply\": true,\n \"expiry_date\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"status": "ok",
"action": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "preview",
"source": "api",
"target_status": "<string>",
"justification": "<string>",
"accepted_risk_expiry_date": "2023-11-07T05:31:56Z",
"rule": {},
"source_metadata": {},
"requires_approval": true,
"requested_by": 123,
"approved_by": 123,
"rejected_by": 123,
"created_at": "2023-11-07T05:31:56Z",
"reviewed_at": "2023-11-07T05:31:56Z",
"applied_at": "2023-11-07T05:31:56Z",
"counts": {
"matched": 123,
"unmatched": 123,
"ambiguous": 123,
"applied": 123,
"conflicts": 123
}
}
}{
"status": "ok",
"action": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "preview",
"source": "api",
"target_status": "<string>",
"justification": "<string>",
"accepted_risk_expiry_date": "2023-11-07T05:31:56Z",
"rule": {},
"source_metadata": {},
"requires_approval": true,
"requested_by": 123,
"approved_by": 123,
"rejected_by": 123,
"created_at": "2023-11-07T05:31:56Z",
"reviewed_at": "2023-11-07T05:31:56Z",
"applied_at": "2023-11-07T05:31:56Z",
"counts": {
"matched": 123,
"unmatched": 123,
"ambiguous": 123,
"applied": 123,
"conflicts": 123
}
}
}Findings gesammelt triagieren
Zeigt eine regelbasierte Statusänderung für bis zu 5.000 zugängliche SAST- oder SCA-Findings als Vorschau an oder wendet sie an. Bei Anfragen von Benutzern ohne Administratorrechte erfordern Aktionen für falsch positive Findings und akzeptierte Risiken eine Genehmigung, wenn die entsprechende Genehmigungseinstellung des Unternehmens aktiviert ist; Aktionen für akzeptierte Risiken erfordern außerdem eine Genehmigung, wenn sie den Schwellenwert für die Anzahl der Findings oder den Schweregrad erreichen. Diese Aktionen geben 202 mit dem Status pending_approval zurück und lassen die Status der Findings unverändert, bis ein anderer Unternehmensadministrator sie genehmigt. Anfragen von Unternehmensadministratoren wenden Aktionen für falsch positive Findings und akzeptierte Risiken sofort an und umgehen diese Einstellungen und Schwellenwerte.
curl --request PATCH \
--url https://www.corgea.app/api/v1/triage/findings \
--header 'CORGEA-TOKEN: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"justification": "<string>",
"rule": {
"company_wide": false,
"project_ids": [
123
],
"team_ids": [
123
],
"finding_types": [
"sast",
"sca"
],
"cwes": [
"CWE-79"
],
"cves": [
"CVE-2026-1000"
],
"path_patterns": [
"tests/**"
],
"severities": [],
"match": "all"
},
"apply": true,
"expiry_date": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://www.corgea.app/api/v1/triage/findings"
payload = {
"justification": "<string>",
"rule": {
"company_wide": False,
"project_ids": [123],
"team_ids": [123],
"finding_types": ["sast", "sca"],
"cwes": ["CWE-79"],
"cves": ["CVE-2026-1000"],
"path_patterns": ["tests/**"],
"severities": [],
"match": "all"
},
"apply": True,
"expiry_date": "2023-11-07T05:31:56Z"
}
headers = {
"CORGEA-TOKEN": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'CORGEA-TOKEN': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
justification: '<string>',
rule: {
company_wide: false,
project_ids: [123],
team_ids: [123],
finding_types: ['sast', 'sca'],
cwes: ['CWE-79'],
cves: ['CVE-2026-1000'],
path_patterns: ['tests/**'],
severities: [],
match: 'all'
},
apply: true,
expiry_date: '2023-11-07T05:31:56Z'
})
};
fetch('https://www.corgea.app/api/v1/triage/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://www.corgea.app/api/v1/triage/findings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'justification' => '<string>',
'rule' => [
'company_wide' => false,
'project_ids' => [
123
],
'team_ids' => [
123
],
'finding_types' => [
'sast',
'sca'
],
'cwes' => [
'CWE-79'
],
'cves' => [
'CVE-2026-1000'
],
'path_patterns' => [
'tests/**'
],
'severities' => [
],
'match' => 'all'
],
'apply' => true,
'expiry_date' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"CORGEA-TOKEN: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.corgea.app/api/v1/triage/findings"
payload := strings.NewReader("{\n \"justification\": \"<string>\",\n \"rule\": {\n \"company_wide\": false,\n \"project_ids\": [\n 123\n ],\n \"team_ids\": [\n 123\n ],\n \"finding_types\": [\n \"sast\",\n \"sca\"\n ],\n \"cwes\": [\n \"CWE-79\"\n ],\n \"cves\": [\n \"CVE-2026-1000\"\n ],\n \"path_patterns\": [\n \"tests/**\"\n ],\n \"severities\": [],\n \"match\": \"all\"\n },\n \"apply\": true,\n \"expiry_date\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("CORGEA-TOKEN", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://www.corgea.app/api/v1/triage/findings")
.header("CORGEA-TOKEN", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"justification\": \"<string>\",\n \"rule\": {\n \"company_wide\": false,\n \"project_ids\": [\n 123\n ],\n \"team_ids\": [\n 123\n ],\n \"finding_types\": [\n \"sast\",\n \"sca\"\n ],\n \"cwes\": [\n \"CWE-79\"\n ],\n \"cves\": [\n \"CVE-2026-1000\"\n ],\n \"path_patterns\": [\n \"tests/**\"\n ],\n \"severities\": [],\n \"match\": \"all\"\n },\n \"apply\": true,\n \"expiry_date\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.corgea.app/api/v1/triage/findings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["CORGEA-TOKEN"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"justification\": \"<string>\",\n \"rule\": {\n \"company_wide\": false,\n \"project_ids\": [\n 123\n ],\n \"team_ids\": [\n 123\n ],\n \"finding_types\": [\n \"sast\",\n \"sca\"\n ],\n \"cwes\": [\n \"CWE-79\"\n ],\n \"cves\": [\n \"CVE-2026-1000\"\n ],\n \"path_patterns\": [\n \"tests/**\"\n ],\n \"severities\": [],\n \"match\": \"all\"\n },\n \"apply\": true,\n \"expiry_date\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"status": "ok",
"action": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "preview",
"source": "api",
"target_status": "<string>",
"justification": "<string>",
"accepted_risk_expiry_date": "2023-11-07T05:31:56Z",
"rule": {},
"source_metadata": {},
"requires_approval": true,
"requested_by": 123,
"approved_by": 123,
"rejected_by": 123,
"created_at": "2023-11-07T05:31:56Z",
"reviewed_at": "2023-11-07T05:31:56Z",
"applied_at": "2023-11-07T05:31:56Z",
"counts": {
"matched": 123,
"unmatched": 123,
"ambiguous": 123,
"applied": 123,
"conflicts": 123
}
}
}{
"status": "ok",
"action": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "preview",
"source": "api",
"target_status": "<string>",
"justification": "<string>",
"accepted_risk_expiry_date": "2023-11-07T05:31:56Z",
"rule": {},
"source_metadata": {},
"requires_approval": true,
"requested_by": 123,
"approved_by": 123,
"rejected_by": 123,
"created_at": "2023-11-07T05:31:56Z",
"reviewed_at": "2023-11-07T05:31:56Z",
"applied_at": "2023-11-07T05:31:56Z",
"counts": {
"matched": 123,
"unmatched": 123,
"ambiguous": 123,
"applied": 123,
"conflicts": 123
}
}
}Autorisierungen
API-Key für die Authentifizierung
Body
fix_in_progress ist nur verfügbar, wenn finding_types ausschließlich sast enthält.
open, fixed, false_positive, accepted_risk, duplicate, fix_in_progress 1Wählen Sie einen Bereich mit company_wide, project_ids oder team_ids aus. Filter verwenden match, um die zutreffenden Kriterien zu kombinieren; CWE-Filter gelten für SAST sowie CVE- und Erreichbarkeitsfilter für SCA.
Show child attributes
Show child attributes
Auf false setzen, um eine Vorschau zu erstellen, ohne Findings zu ändern.
Zukünftiger Ablaufzeitpunkt, nur für accepted_risk-Aktionen.
War diese Seite hilfreich?
