Vulnerability Discovery
Vulnerability DiscoveryRepositories
List repositories
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/repos
Create repository
POST/accounts/{account_id}/managed-defense/vulnerability-discovery/repos
Get repository
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/repos/{repo_id}
ModelsExpand Collapse
RepositoryCreateResponse = object { repository, upload } or object { repository }
RepositoryCreateResponse = object { repository, upload } or object { repository }
One of the following:
RepositoryGetResponse object { repository, scans }
RepositoryGetResponse object { repository, scans }
repository: object { id, created_at, name, 3 more }
repository: object { id, created_at, name, 3 more }
scans: array of object { id, completed_at, message, 6 more }
scans: array of object { id, completed_at, message, 6 more }
repositories: array of object { id, name, phase, 2 more }
repositories: array of object { id, name, phase, 2 more }
Vulnerability DiscoveryScans
List scans
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/scans
Create scan
POST/accounts/{account_id}/managed-defense/vulnerability-discovery/scans
Get scan
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/scans/{scan_id}
Get reviewed vulnerability report
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/scans/{scan_id}/report
ModelsExpand Collapse
ScanListResponse object { id, completed_at, message, 6 more }
ScanListResponse object { id, completed_at, message, 6 more }
repositories: array of object { id, name, phase, 2 more }
repositories: array of object { id, name, phase, 2 more }
ScanCreateResponse object { id, completed_at, message, 6 more }
ScanCreateResponse object { id, completed_at, message, 6 more }
repositories: array of object { id, name, phase, 2 more }
repositories: array of object { id, name, phase, 2 more }
ScanGetResponse object { id, completed_at, message, 6 more }
ScanGetResponse object { id, completed_at, message, 6 more }
repositories: array of object { id, name, phase, 2 more }
repositories: array of object { id, name, phase, 2 more }
ScanGetReportResponse object { publication, report, repositories, scan_id }
ScanGetReportResponse object { publication, report, repositories, scan_id }
report: object { executive_summary, generated_at, overall_severity, 3 more }
report: object { executive_summary, generated_at, overall_severity, 3 more }
generated_at: string
Revision requests must echo the existing generation timestamp unchanged.
formatdate-time
repositories: array of object { findings, overall_severity, repository_id, 5 more }
repositories: array of object { findings, overall_severity, repository_id, 5 more }
findings: array of object { id, conditions, cwe, 17 more }
findings: array of object { id, conditions, cwe, 17 more }
waf_rules: object { broad, targeted }
waf_rules: object { broad, targeted }
attacker_position: optional "external" or "authenticated" or "internal" or "post_compromise"Least-privileged position required to trigger the finding. Optional on legacy report revisions.
attacker_position: optional "external" or "authenticated" or "internal" or "post_compromise"
Least-privileged position required to trigger the finding. Optional on legacy report revisions.
open_question: optional string
One bounded unresolved proof question. Optional on legacy report revisions.
maxLength500
traffic_context: object { http, target, waf, web_assets }
traffic_context: object { http, target, waf, web_assets }
http: object { error_paths, hot_paths, request_volume }
http: object { error_paths, hot_paths, request_volume }
Vulnerability DiscoveryReports
Get reviewed vulnerability report
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/repos/{repo_id}/scans/{scan_id}/report
ModelsExpand Collapse
ReportGetResponse object { publication, report, repository_id, scan_id }
ReportGetResponse object { publication, report, repository_id, scan_id }
report: object { findings, overall_severity, repository_id, 5 more }
report: object { findings, overall_severity, repository_id, 5 more }
findings: array of object { id, conditions, cwe, 17 more }
findings: array of object { id, conditions, cwe, 17 more }
waf_rules: object { broad, targeted }
waf_rules: object { broad, targeted }
attacker_position: optional "external" or "authenticated" or "internal" or "post_compromise"Least-privileged position required to trigger the finding. Optional on legacy report revisions.
attacker_position: optional "external" or "authenticated" or "internal" or "post_compromise"
Least-privileged position required to trigger the finding. Optional on legacy report revisions.
open_question: optional string
One bounded unresolved proof question. Optional on legacy report revisions.
maxLength500
traffic_context: object { http, target, waf, web_assets }
traffic_context: object { http, target, waf, web_assets }
http: object { error_paths, hot_paths, request_volume }
http: object { error_paths, hot_paths, request_volume }