Nuclei results API
The results API from Nuclei — 7 operation(s) for results.
The results API from Nuclei — 7 operation(s) for results.
openapi: 3.1.0
info:
title: PDCP agents results 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: results
paths:
/v1/scans/vuln/{vuln_id}:
parameters:
- schema:
type: string
name: vuln_id
in: path
required: true
description: vulnerability ID
get:
summary: Get Scan Vulnerability
tags:
- results
responses:
'200':
$ref: '#/components/responses/GetScansVulnIdResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-scans-vuln-:vulnId
description: 'Get scan result vulnerability by ID '
security:
- X-API-Key: []
parameters:
- schema:
type: string
in: header
name: X-Team-Id
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
/v1/scans/result/{scanId}:
parameters:
- schema:
type: string
name: scanId
in: path
required: true
description: scan specific results (by scanId)
get:
summary: Get Scan Results
tags:
- results
responses:
'200':
$ref: '#/components/responses/GetScanResultsResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'499':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-scans-result-:scanId
description: get results of specific scan by id
security:
- X-API-Key: []
parameters:
- schema:
type: string
in: query
name: severity
description: comma separated severity e.g. severity=info,high
- schema:
type: string
in: query
name: search
description: search term
- schema:
type: integer
in: query
name: limit
description: 'number of results '
- schema:
type: integer
in: query
name: offset
description: number of results to skip
- schema:
type: string
in: query
name: templates
description: comma separated templates e.g. templates=tech-detect,azure-takeover
- schema:
type: string
in: query
name: hosts
description: comma separated host e.g. hosts=https://example.com,https://x.com
- in: query
name: domain
schema:
type: string
description: comma separated domain names e.g-> domain=domain1.com,domain2.com
- in: query
name: port
schema:
type: string
description: comma separated ports e.g. ports=80,443
- schema:
type: string
in: query
description: filter by time ( last_day, last_week, last_month )
name: time
- schema:
type: string
in: query
name: vuln_status
description: comma separated vuln_status e.g vuln_status=open,fixed
- schema:
type: string
in: query
name: sort_asc
description: comma separated ascending sorting e.g sort_asc=created_at,severity
- schema:
type: string
in: query
name: sort_desc
description: comma separated descending sorting e.g sort_desc=created_at,severity
- schema:
type: boolean
in: query
name: asset_metadata
description: Asset details for the vulnerability
- schema:
type: string
in: header
name: X-Team-Id
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
/v1/scans/vuln/{vuln_id}/changelogs:
parameters:
- schema:
type: string
name: vuln_id
in: path
required: true
description: vulnerability ID
get:
summary: Get Vulnerability Changelogs
tags:
- results
responses:
'200':
$ref: '#/components/responses/GetVulnChangelogsResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'499':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-scans-vuln-vuln_id-changelogs
description: get changelogs of specific vulnerability by id
security:
- X-API-Key: []
parameters:
- schema:
type: string
enum:
- last_day
- last_week
- last_month
- last_3_months
- last_6_months
- last_12_months
- all_time
default: all_time
in: query
name: time
description: time filter to select
- schema:
type: string
in: query
name: event_type
description: comma separated event_type e.g. event_type=vul_status,vul_status_change
- schema:
type: string
in: query
name: sort_asc
description: comma separated ascending sorting e.g sort_asc=created_at,severity
- schema:
type: string
in: query
name: sort_desc
description: comma separated descending sorting e.g sort_desc=created_at,severity
- schema:
type: integer
in: query
name: limit
description: number of results to get
- schema:
type: integer
in: query
name: offset
description: number of results to skip
- schema:
type: string
in: header
name: X-Team-Id
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
/v1/scans/vuln/changelogs:
get:
summary: Get all Vulnerability Changelogs
tags:
- results
responses:
'200':
$ref: '#/components/responses/GetVulnChangelogsResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'499':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-scans-vuln-changelogs
description: get changelogs of all vulnerabilities
security:
- X-API-Key: []
parameters:
- schema:
type: string
enum:
- last_day
- last_week
- last_month
- last_3_months
- last_6_months
- last_12_months
- all_time
default: all_time
in: query
name: time
description: time filter to select
- schema:
type: string
in: query
name: event_type
description: comma separated event_type e.g. event_type=vul_status,vul_status_change
- schema:
type: string
in: query
name: sort_asc
description: comma separated ascending sorting e.g sort_asc=created_at,severity
- schema:
type: string
in: query
name: sort_desc
description: comma separated descending sorting e.g sort_desc=created_at,severity
- schema:
type: integer
in: query
name: limit
description: number of results to get
- schema:
type: integer
in: query
name: offset
description: number of results to skip
- schema:
type: string
in: header
name: X-Team-Id
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
/v1/scans/results:
parameters: []
get:
summary: Get All Results
tags:
- results
responses:
'200':
$ref: '#/components/responses/GetScanResultsResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'499':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-results
description: Get scans results of a user
parameters:
- schema:
type: integer
in: query
name: offset
description: number of results to skip
- schema:
type: integer
in: query
name: limit
description: number of results to get
- schema:
type: string
in: query
name: severity
description: string separated by comma e.g. info,high
- schema:
type: string
in: query
name: search
description: search term
- schema:
type: string
in: query
name: host
description: comma separated host e.g. hosts=https://example.com,https://x.com
- in: query
name: domain
schema:
type: string
description: comma separated domain names e.g-> domain=domain1.com,domain2.com
- in: query
name: port
schema:
type: string
description: comma separated ports e.g. ports=80,443
- schema:
type: string
in: query
name: templates
description: comma separated templates e.g. templates=tech-detect,azure-takeover
- schema:
type: string
in: query
name: time
description: filter by time ( last_day, last_week, last_month )
- schema:
type: string
in: query
name: vuln_status
description: comma separated vuln_status e.g vuln_status=open,fixed
- schema:
type: string
in: query
name: tags
description: comma separated tags e.g tags=xss,cve
- schema:
type: string
in: query
name: sort_asc
description: comma separated ascending sorting e.g sort_asc=created_at,severity
- schema:
type: string
in: query
name: sort_desc
description: comma separated descending sorting e.g sort_desc=created_at,severity
- schema:
type: boolean
in: query
name: is_ticket
description: Return the records that have issue trackers
- in: query
name: labels
schema:
type: string
description: filter by comma separated labels e.g labels=p1,p2
- in: query
name: category
schema:
type: string
description: filter by comma separated categories e.g category=cve,xss
- in: query
name: is_regression
schema:
type: boolean
description: filter by is_regression
- in: query
name: is_internal
schema:
type: boolean
description: filter by is_internal (internal vs external hosts)
- schema:
type: boolean
in: query
name: asset_metadata
description: Asset details for the vulnerability
- schema:
type: string
in: header
name: X-Team-Id
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
security:
- X-API-Key: []
/v1/scans/results/filters:
get:
summary: Get Scans Result Filters
tags:
- results
responses:
'200':
$ref: '#/components/responses/GetScanResultsFiltersResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'499':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-scans-results-filters
description: Get users scan-result filters
security:
- X-API-Key: []
parameters:
- schema:
type: integer
in: query
name: offset
description: The number of items to skip before starting to collect the result set
- schema:
type: integer
in: query
name: limit
description: The numbers of items to return
- schema:
type: string
in: query
name: scan_id
description: specific scan_id results filters
- schema:
type: string
in: query
name: severity
description: comma separated severity e.g. severities=info,high
- schema:
type: string
in: query
name: templates
description: comma separated templates e.g. templates=tech-detect,azure-takeover
- schema:
type: string
in: query
name: host
description: comma separated host e.g. hosts=https://example.com,https://x.com
- in: query
name: domain
schema:
type: string
description: comma separated domain names e.g-> domain=domain1.com,domain2.com
- in: query
name: port
schema:
type: string
description: comma separated ports e.g. ports=80,443
- schema:
type: string
in: query
name: search
description: search term
- schema:
type: string
in: query
name: type
required: true
description: type of filter
- schema:
type: string
in: query
name: time
description: filter by time ( last_day, last_week, last_month )
- schema:
type: string
in: query
name: vuln_status
description: comma separated vuln_status e.g vuln_status=open,fixed
- schema:
type: string
in: query
name: sort_asc
description: comma separated ascending sorting e.g sort_asc=created_at,severity
- schema:
type: string
in: query
name: sort_desc
description: comma separated descending sorting e.g sort_desc=created_at,severity
- schema:
type: string
in: query
name: tags
description: comma separated tags e.g tags=xss,cve
- schema:
type: string
in: query
name: not_hosts
description: comma separated hosts that should not be returned e.g. not_hosts=https://example.com,https://x.com
- schema:
type: string
in: query
name: not_severity
description: comma separated severity that should not be returned e.g. not_severity=info,high
- schema:
type: string
in: query
name: not_templates
description: comma separated templates that should not be returned e.g. not_templates=tech-detect,azure-takeover
- in: query
name: labels
schema:
type: string
description: filter by comma separated labels e.g labels=p1,p2
- in: query
name: category
schema:
type: string
description: filter by comma separated categories e.g category=cve,xss
- in: query
name: is_regression
schema:
type: boolean
description: filter by is_regression
- in: query
name: is_internal
schema:
type: boolean
description: filter by is_internal (internal vs external hosts)
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
- schema:
type: string
format: date
in: query
name: start_date
description: time filter start date
- schema:
type: string
format: date
in: query
name: end_date
description: time filter end date
/v1/scans/results/stats:
get:
summary: Get Results Stats
tags:
- results
responses:
'200':
$ref: '#/components/responses/GetScanResultStatsResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'499':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-scans-results-stats
description: Get user scan results stats
security:
- X-API-Key: []
parameters:
- schema:
type: integer
in: query
name: offset
description: The number of items to skip before starting to collect the result set
- schema:
type: integer
in: query
name: limit
description: The numbers of items to return
- schema:
type: string
in: query
name: host
description: comma separated host e.g. hosts=https://example.com,https://x.com
- in: query
name: domain
schema:
type: string
description: comma separated domain names e.g-> domain=domain1.com,domain2.com
- in: query
name: port
schema:
type: string
description: comma separated ports e.g. ports=80,443
- schema:
type: string
in: query
name: templates
description: comma separated templates e.g. templates=tech-detect,azure-takeover
- schema:
type: string
in: query
name: severity
description: comma separated severity e.g. severities=info,high
- schema:
type: string
in: query
name: search
description: search term
- schema:
type: string
in: query
name: scan_id
description: specific scan_id results filters
- schema:
type: string
in: query
description: filter by time ( last_day, last_week, last_month )
name: time
- schema:
type: string
in: query
name: vuln_status
description: comma separated vuln_status e.g vuln_status=open,fixed
- schema:
type: string
in: query
name: tags
description: comma separated tags e.g tags=xss,cve
- schema:
type: string
in: query
name: not_hosts
description: comma separated hosts that should not be returned e.g. not_hosts=https://example.com,https://x.com
- schema:
type: string
in: query
name: not_severity
description: comma separated severity that should not be returned e.g. not_severity=info,high
- schema:
type: string
in: query
name: not_templates
description: comma separated templates that should not be returned e.g. not_templates=tech-detect,azure-takeover
- in: query
name: labels
schema:
type: string
description: filter by comma separated labels e.g labels=p1,p2
- in: query
name: category
schema:
type: string
description: filter by comma separated categories e.g category=cve,xss
- in: query
name: is_regression
schema:
type: boolean
description: filter by is_regression
- in: query
name: is_internal
schema:
type: boolean
description: filter by is_internal (internal vs external hosts)
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
- schema:
type: string
format: date
in: query
name: start_date
description: time filter start date
- schema:
type: string
format: date
in: query
name: end_date
description: time filter end date
components:
schemas:
EnumerationContentTechnologyDetails:
title: EnumerationContentTechnologyDetails
type: object
properties:
description:
type: string
website:
type: string
icon:
type: string
categories:
type: array
items:
type: string
VulnerabilityEvent:
title: VulnerabilityEvent
type: object
properties:
curl-command:
type: string
extracted-results:
type: array
items:
type: string
extractor-name:
type: string
host:
type: string
info:
type: object
required:
- name
properties:
classification:
type: object
properties:
cpe:
type: string
cve-id:
type: array
items:
type: string
cvss-metrics:
type: string
cvss-score:
type: number
cwe-id:
type: array
items:
type: string
epss-percentile:
type: number
epss-score:
type: number
metadata:
type: object
author:
type: array
items:
type: string
description:
type: string
impact:
type: string
name:
type: string
tags:
type: array
items:
type: string
reference:
type: array
items:
type: string
remediation:
type: string
severity:
type: string
ip:
type: string
matched-at:
type: string
matched-line:
type: array
items:
type: integer
matcher-name:
type: string
matcher-status:
type: boolean
path:
type: string
request:
type: string
response:
type: string
template-id:
type: string
template-path:
type: string
timestamp:
type: string
type:
type: string
error:
type: string
issue_trackers:
type: object
properties:
jira:
$ref: '#/components/schemas/VulnIssueTrackerItem'
github:
$ref: '#/components/schemas/VulnIssueTrackerItem'
gitlab:
$ref: '#/components/schemas/VulnIssueTrackerItem'
linear:
$ref: '#/components/schemas/VulnIssueTrackerItem'
custom:
$ref: '#/components/schemas/VulnIssueTrackerItem'
port:
type: string
ScanStats:
title: ScanStats
type: object
properties:
cves:
type: integer
matched:
type: integer
not_matched:
type: integer
severity:
type: object
total_count:
type: integer
total_scan:
type: integer
total_target:
type: integer
total_template:
type: integer
vuln_status:
type: object
total_regression:
type: integer
format: int64
is_internal:
type: integer
format: int64
description: Count of internal vulnerabilities
is_external:
type: integer
format: int64
description: Count of external vulnerabilities
required:
- cves
- matched
- not_matched
- total_count
- total_scan
- total_target
- total_template
- total_regression
EnumerationSourceValue:
type: object
required:
- source
- metadata
properties:
source:
type: string
metadata:
type: object
additionalProperties:
type: string
EnumerationContent:
title: EnumerationContent
type: object
required:
- enumeration_id
- name
- created_at
- id
- is_new
properties:
enumeration_id:
type: string
name:
type: string
created_at:
type: string
updated_at:
type: string
id:
type: integer
format: int64
labels:
type: array
items:
type: string
cname:
type: array
items:
type: string
host:
type: string
port:
type: integer
ip:
type: array
items:
type: string
status_code:
type: integer
content_length:
type: integer
vulnerabilities:
type: integer
format: int64
title:
type: string
technologies:
type: array
items:
type: string
webserver:
type: string
method:
type: string
is_new:
type: boolean
type:
type: string
asset_hash:
type: string
technology_details:
type: object
additionalProperties:
$ref: '#/components/schemas/EnumerationContentTechnologyDetails'
screenshot_path:
type: string
favicon:
type: string
favicon_body:
type: string
cdn_name:
type: string
chain_status_codes:
type: array
items:
type: string
domain_name:
type: string
redirect_location:
type: string
asn:
as_number:
type: string
as_country:
type: string
as_name:
type: string
as_range:
type: array
items:
type: string
type: object
properties:
as_country:
type: string
as_name:
type: string
as_number:
type: string
as_range:
type: array
items:
type: string
tls_serial_number:
type: string
tls_subject_org:
type: string
tls_issuer_org:
type: string
tls_expired:
type: boolean
tls_not_before:
type: string
format: date-time
tls_self_signed:
type: boolean
tls_mismatched:
type: boolean
tls_revoked:
type: boolean
tls_untrusted:
type: boolean
tls_subject_cn:
type: string
tls_subject_an:
type: array
items:
type: string
body:
type: string
tls_not_after:
type: string
format: date-time
enumeration_name:
type: string
extended_metadata:
type: object
source_type:
type: string
source:
type: array
items:
$ref: '#/components/schemas/EnumerationSourceValue'
is_internal:
type: boolean
VulnerabilityResultsOld:
title: VulnerabilityResultsOld
type: object
required:
- scan_id
- target
- template_id
- vuln_id
- matcher_status
- created_at
- event
properties:
scan_id:
type: string
target:
type: string
template_encoded:
type: string
template_url:
type: string
template_path:
type: string
template_id:
type: string
vuln_id:
type: string
matcher_status:
type: boolean
created_at:
type: string
updated_at:
type: string
event:
$ref: '#/components/schemas/VulnerabilityEvent'
id:
type: string
vuln_status:
type: string
vuln_hash:
type: string
port:
type: integer
asset_metadata:
type: object
$ref: '#/components/schemas/EnumerationContent'
remediation:
type: string
impact:
type: string
description:
type: string
reference:
type: array
items:
type: string
FiltersItem:
title: FilterItem
type: object
properties:
value:
type: string
name:
type: string
severity:
type: string
count:
type: integer
required:
- value
- count
VulnerabilityChangelogsEvent:
title: VulnerabilityChangelogsEvent
type: object
properties:
name:
description: The name of the event
type: string
from:
description: The from value of the event
to:
description: The to value of the event
VulnerabilityResults:
type: object
required:
- matcher_status
- vuln_id
- target
- created_at
- scan_id
- event
- template_id
- result_type
- vuln_hash
properties:
matcher_status:
type: boolean
vuln_id:
type: string
target:
type: string
template_url:
type: string
created_at:
type: string
updated_at:
type: string
scan_id:
type: string
event:
type: array
items:
$ref: '#/components/schemas/VulnerabilityEvent'
template_id:
type: string
template_path:
type: string
template_encoded:
type: string
result_type:
type: string
vuln_status:
type: string
vuln_hash:
type: string
is_regression:
type: boolean
is_internal:
type: boolean
labels:
type: array
items:
type: string
port:
type: integer
asset_metadata:
type: object
$ref: '#/components/schemas/EnumerationContent'
remediation:
type: string
description:
type: string
impact:
type: string
reference:
type: array
items:
type: string
VulnerabilityChangelogs:
title: VulnerabilityChangelogs
type: object
properties:
matcher_status:
type: boolean
vuln_id:
type: string
target:
type: string
template_url:
type: string
created_at:
type: string
updated_at:
type: string
scan_id:
type: string
event:
type: object
$ref: '#/components/schemas/VulnerabilityEvent'
change_event:
type: array
items:
$ref: '#/components/schemas/VulnerabilityChangelogsEvent'
template_id:
type: string
template_path:
type: string
template_encoded:
type: string
result_type:
type: string
vuln_status:
type: string
vuln_hash:
type: string
labels:
type: array
items:
type: string
required:
- matcher_statu
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nuclei/refs/heads/main/openapi/nuclei-results-api-openapi.yml