Vulnerability Discovery
Vulnerability DiscoveryRepositories
List repositories
client.managedDefense.vulnerabilityDiscovery.repositories.list(RepositoryListParams { account_id, cursor, limit } params, RequestOptionsoptions?): CursorLimitPagination<RepositoryListResponse { id, created_at, name, 3 more } >
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/repos
Create repository
client.managedDefense.vulnerabilityDiscovery.repositories.create(RepositoryCreateParams { account_id, name, worker_script_name, idempotencyKey } params, RequestOptionsoptions?): RepositoryCreateResponse
POST/accounts/{account_id}/managed-defense/vulnerability-discovery/repos
Get repository
client.managedDefense.vulnerabilityDiscovery.repositories.get(stringrepoID, RepositoryGetParams { account_id, scan_cursor, scan_limit } params, RequestOptionsoptions?): RepositoryGetResponse { repository, scans }
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/repos/{repo_id}
ModelsExpand Collapse
RepositoryCreateResponse = UnionMember0 { repository, upload } | Repository { repository }
RepositoryCreateResponse = UnionMember0 { repository, upload } | Repository { repository }
One of the following:
UnionMember0 { repository, upload }
UnionMember0 { repository, upload }
RepositoryGetResponse { repository, scans }
RepositoryGetResponse { repository, scans }
repository: Repository { id, created_at, name, 3 more }
repository: Repository { id, created_at, name, 3 more }
scans: Array<Scan>
scans: Array<Scan>
Vulnerability DiscoveryScans
List scans
client.managedDefense.vulnerabilityDiscovery.scans.list(ScanListParams { account_id, cursor, limit, 2 more } params, RequestOptionsoptions?): CursorLimitPagination<ScanListResponse { id, completed_at, message, 6 more } >
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/scans
Create scan
client.managedDefense.vulnerabilityDiscovery.scans.create(ScanCreateParams { account_id, repos, repo_hosts, 2 more } params, RequestOptionsoptions?): ScanCreateResponse { id, completed_at, message, 6 more }
POST/accounts/{account_id}/managed-defense/vulnerability-discovery/scans
Get scan
client.managedDefense.vulnerabilityDiscovery.scans.get(stringscanID, ScanGetParams { account_id } params, RequestOptionsoptions?): ScanGetResponse { id, completed_at, message, 6 more }
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/scans/{scan_id}
Get reviewed vulnerability report
client.managedDefense.vulnerabilityDiscovery.scans.getReport(stringscanID, ScanGetReportParams { account_id } params, RequestOptionsoptions?): ScanGetReportResponse { publication, report, repositories, scan_id }
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/scans/{scan_id}/report
ModelsExpand Collapse
ScanListResponse { id, completed_at, message, 6 more }
ScanListResponse { id, completed_at, message, 6 more }
ScanCreateResponse { id, completed_at, message, 6 more }
ScanCreateResponse { id, completed_at, message, 6 more }
ScanGetResponse { id, completed_at, message, 6 more }
ScanGetResponse { id, completed_at, message, 6 more }
ScanGetReportResponse { publication, report, repositories, scan_id }
ScanGetReportResponse { publication, report, repositories, scan_id }
report: Report | null
report: Report | null
generated_at: string
Revision requests must echo the existing generation timestamp unchanged.
formatdate-time
repositories: Array<Repository>
repositories: Array<Repository>
findings: Array<Finding>
findings: Array<Finding>
waf_rules: WAFRules | null
waf_rules: WAFRules | null
attacker_position?: "external" | "authenticated" | "internal" | "post_compromise" | nullLeast-privileged position required to trigger the finding. Optional on legacy report revisions.
attacker_position?: "external" | "authenticated" | "internal" | "post_compromise" | null
Least-privileged position required to trigger the finding. Optional on legacy report revisions.
open_question?: string | null
One bounded unresolved proof question. Optional on legacy report revisions.
maxLength500
traffic_context: TrafficContext { http, target, waf, web_assets }
traffic_context: TrafficContext { http, target, waf, web_assets }
Vulnerability DiscoveryReports
Get reviewed vulnerability report
client.managedDefense.vulnerabilityDiscovery.reports.get(stringscanID, ReportGetParams { account_id, repo_id } params, RequestOptionsoptions?): ReportGetResponse { publication, report, repository_id, scan_id }
GET/accounts/{account_id}/managed-defense/vulnerability-discovery/repos/{repo_id}/scans/{scan_id}/report
ModelsExpand Collapse
ReportGetResponse { publication, report, repository_id, scan_id }
ReportGetResponse { publication, report, repository_id, scan_id }
report: Report { findings, overall_severity, repository_id, 5 more }
report: Report { findings, overall_severity, repository_id, 5 more }
findings: Array<Finding>
findings: Array<Finding>
waf_rules: WAFRules | null
waf_rules: WAFRules | null
attacker_position?: "external" | "authenticated" | "internal" | "post_compromise" | nullLeast-privileged position required to trigger the finding. Optional on legacy report revisions.
attacker_position?: "external" | "authenticated" | "internal" | "post_compromise" | null
Least-privileged position required to trigger the finding. Optional on legacy report revisions.
open_question?: string | null
One bounded unresolved proof question. Optional on legacy report revisions.
maxLength500
traffic_context: TrafficContext { http, target, waf, web_assets }
traffic_context: TrafficContext { http, target, waf, web_assets }