Nuclei results API

The results API from Nuclei — 7 operation(s) for results.

OpenAPI Specification

nuclei-results-api-openapi.yml Raw ↑
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