Nuclei Vulns API
The Vulns API from Nuclei — 2 operation(s) for vulns.
The Vulns API from Nuclei — 2 operation(s) for vulns.
openapi: 3.1.0
info:
title: PDCP agents Vulns API
version: '1.0'
summary: ProjectDiscovery Cloud Platform
description: For more details, checkout https://docs.projectdiscovery.io/api-reference/editor/scan
servers:
- url: https://api.projectdiscovery.io
description: Production
- url: https://api.dev.projectdiscovery.io
description: Development
- url: http://localhost:8085
description: Localhost
security:
- X-API-Key: []
tags:
- name: Vulns
paths:
/v1/vulns/coverage:
get:
summary: Get Vulnerability Template Coverage Statistics
tags:
- Vulns
operationId: get-v1-vulns-coverage
description: Get template coverage statistics for vulnerabilities. Supports all search query filters to calculate coverage for specific subsets (e.g., by product, severity, etc.)
parameters:
- in: query
name: q
required: false
schema:
type: string
description: SearchQL query to filter vulnerabilities (e.g., "severity:critical", "affected_products.product:wordpress")
- in: query
name: term_facets
required: false
schema:
items:
type: string
type: array
description: List of term facets to apply
- in: query
name: range_facets
required: false
schema:
items:
type: string
type: array
description: List of range facets to apply
responses:
'200':
description: Coverage statistics response
content:
application/json:
schema:
type: object
required:
- cves
- kevs
- pocs
- fts_query
- filter_description
properties:
cves:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
kevs:
type: object
properties:
cisa:
type: object
properties:
all:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
with_public_poc:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
due_date_breakdown:
type: object
properties:
overdue:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
next_7_days:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
next_30_days:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
after_30_days:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
vulncheck:
type: object
properties:
all:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
with_public_poc:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
due_date_breakdown:
type: object
properties:
overdue:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
next_7_days:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
next_30_days:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
after_30_days:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
pocs:
type: object
properties:
coverage:
$ref: '#/components/schemas/CoverageStats'
fts_query:
type: string
description: The SearchQL query string used to calculate coverage (before adding the is_template filter)
example: is_remote:true AND (cvss_metrics:"pr:n" OR cvss_metrics:"au:n") AND NOT vuln_status:rejected
filter_description:
type: string
description: Human-readable description of the filters applied to calculate coverage statistics
example: 'Default filter: remotely exploitable vulnerabilities with no authentication required, excluding rejected/unconfirmed statuses and hardware/OS/consumer categories'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/v1/scans/vulns/score/metrics:
get:
summary: Get Vuln Score Metrics
tags:
- Vulns
parameters:
- in: query
name: interval
schema:
type: string
enum:
- monthly
default: monthly
description: The time interval for the metrics
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
responses:
'200':
$ref: '#/components/responses/VulnScoreMetricsResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'404':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-scans-vulns-score-metrics
components:
responses:
ErrorResponse:
description: Example response
content:
application/json:
schema:
type: object
required:
- message
properties:
message:
type: string
kind:
type: string
code:
type: string
error:
type: string
error_id:
type: string
param:
type: string
status:
type: integer
MessageResponse:
description: Example response
content:
application/json:
schema:
type: object
required:
- message
properties:
message:
type: string
VulnScoreMetricsResponse:
description: Example response
content:
application/json:
schema:
type: object
required:
- security_score
- security_state
- open_vulnerability
- total_scanned_assets
- total_affected_assets
- time_series
properties:
security_score:
type: number
format: double
security_state:
type: string
open_vulnerability:
$ref: '#/components/schemas/OpenVulnerabilityScoreMetrics'
total_scanned_assets:
type: integer
total_affected_assets:
type: integer
time_series:
type: array
items:
$ref: '#/components/schemas/VulnScoreMetricsTimeSeries'
schemas:
VulnScoreMetricsTimeSeries:
title: VulnScoreMetricsTimeSeries
type: object
properties:
date:
type: string
format: date
security_score:
type: number
format: double
open_vulnerability:
$ref: '#/components/schemas/OpenVulnerabilityScoreMetrics'
total_scanned_assets:
type: integer
total_affected_assets:
type: integer
description: ''
CoverageStats:
title: CoverageStats
description: Coverage statistics showing template availability
type: object
required:
- percentage
- total
- covered
properties:
percentage:
type: number
format: float
description: Coverage percentage
total:
type: integer
description: Total number of items (CVEs, KEVs, or POCs)
covered:
type: integer
description: Number of items with templates
remaining:
type: integer
description: Number of items without templates (total - covered)
OpenVulnerabilityScoreMetrics:
title: OpenVulnerabilityScoreMetrics
type: object
properties:
severity_breakdown:
$ref: '#/components/schemas/SeverityBreakdown'
total_cve:
type: integer
total_kev:
type: integer
SeverityBreakdown:
title: SeverityBreakdown
type: object
properties:
critical:
type: integer
high:
type: integer
medium:
type: integer
low:
type: integer
info:
type: integer
unknown:
type: integer
securitySchemes:
X-API-Key:
name: X-API-Key
type: apiKey
in: header
x-internal: false