Nuclei · Capability

PDCP API — asset

PDCP API — asset. 5 operations. Lead operation: Get list of unique domains discovered in current month. Self-contained Naftiko capability covering one Nuclei business surface.

Run with Naftiko Nucleiasset

What You Can Do

GET
Getv1assetenumeratedomains — Get list of unique domains discovered in current month
/v1/v1/asset/enumerate/domains
GET
Getv1assetenumeratedomainsexport — Export list of unique domains discovered in current month
/v1/v1/asset/enumerate/domains/export
GET
Getv1assetenumerateenumiddomains — Get list of unique domains discovered in an enumeration
/v1/v1/asset/enumerate/{enumerate-id}/domains
GET
Getv1assetenumerateenumiddomainsexport — Export the list of unique input domains of an enumeration.
/v1/v1/asset/enumerate/{enumerate-id}/domains/export
GET
Getv1assetexposuresmetrics — Get exposure metrics
/v1/v1/asset/exposures/metrics

MCP Tools

get-list-unique-domains-discovered

Get list of unique domains discovered in current month

read-only idempotent
export-list-unique-domains-discovered

Export list of unique domains discovered in current month

read-only idempotent
get-list-unique-domains-discovered-2

Get list of unique domains discovered in an enumeration

read-only idempotent
export-list-unique-input-domains

Export the list of unique input domains of an enumeration.

read-only idempotent
get-exposure-metrics

Get exposure metrics

read-only idempotent

Capability Spec

nuclei-asset.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PDCP API — asset
  description: 'PDCP API — asset. 5 operations. Lead operation: Get list of unique domains discovered in current month. Self-contained
    Naftiko capability covering one Nuclei business surface.'
  tags:
  - Nuclei
  - asset
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NUCLEI_API_KEY: NUCLEI_API_KEY
capability:
  consumes:
  - type: http
    namespace: nuclei-asset
    baseUri: https://api.projectdiscovery.io
    description: PDCP API — asset business capability. Self-contained, no shared references.
    resources:
    - name: v1-asset-enumerate-domains
      path: /v1/asset/enumerate/domains
      operations:
      - name: getv1assetenumeratedomains
        method: GET
        description: Get list of unique domains discovered in current month
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: search
          in: query
          type: string
          description: Search with domain name
        - name: limit
          in: query
          type: integer
          description: Limit the number of domains (Default 100)
        - name: offset
          in: query
          type: integer
          description: Offset the number of domains (Default 0)
    - name: v1-asset-enumerate-domains-export
      path: /v1/asset/enumerate/domains/export
      operations:
      - name: getv1assetenumeratedomainsexport
        method: GET
        description: Export list of unique domains discovered in current month
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: search
          in: query
          type: string
          description: Search with domain name
        - name: format
          in: query
          type: string
          description: supported format is csv, raw, or json (default json)
        - name: start_date
          in: query
          type: string
          description: time filter start date
        - name: end_date
          in: query
          type: string
          description: time filter end date
    - name: v1-asset-enumerate-enumerate_id-domains
      path: /v1/asset/enumerate/{enumerate_id}/domains
      operations:
      - name: getv1assetenumerateenumiddomains
        method: GET
        description: Get list of unique domains discovered in an enumeration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: search
          in: query
          type: string
          description: Search with domain name
        - name: limit
          in: query
          type: integer
          description: Limit the number of domains (Default 100)
        - name: offset
          in: query
          type: integer
          description: Offset the number of domains (Default 0)
    - name: v1-asset-enumerate-enumerate_id-domains-export
      path: /v1/asset/enumerate/{enumerate_id}/domains/export
      operations:
      - name: getv1assetenumerateenumiddomainsexport
        method: GET
        description: Export the list of unique input domains of an enumeration.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: search
          in: query
          type: string
          description: Search with domain name
        - name: format
          in: query
          type: string
          description: supported format is csv, raw, or json (default json)
    - name: v1-asset-exposures-metrics
      path: /v1/asset/exposures/metrics
      operations:
      - name: getv1assetexposuresmetrics
        method: GET
        description: Get exposure metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: interval
          in: query
          type: string
          description: The time interval for the metrics
        - name: X-Team-Id
          in: header
          type: string
          description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
    authentication:
      type: apikey
      key: X-API-Key
      value: '{{env.NUCLEI_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: nuclei-asset-rest
    port: 8080
    description: REST adapter for PDCP API — asset. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/v1/asset/enumerate/domains
      name: v1-asset-enumerate-domains
      description: REST surface for v1-asset-enumerate-domains.
      operations:
      - method: GET
        name: getv1assetenumeratedomains
        description: Get list of unique domains discovered in current month
        call: nuclei-asset.getv1assetenumeratedomains
        with:
          search: rest.search
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/asset/enumerate/domains/export
      name: v1-asset-enumerate-domains-export
      description: REST surface for v1-asset-enumerate-domains-export.
      operations:
      - method: GET
        name: getv1assetenumeratedomainsexport
        description: Export list of unique domains discovered in current month
        call: nuclei-asset.getv1assetenumeratedomainsexport
        with:
          search: rest.search
          format: rest.format
          start_date: rest.start_date
          end_date: rest.end_date
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/asset/enumerate/{enumerate-id}/domains
      name: v1-asset-enumerate-enumerate-id-domains
      description: REST surface for v1-asset-enumerate-enumerate_id-domains.
      operations:
      - method: GET
        name: getv1assetenumerateenumiddomains
        description: Get list of unique domains discovered in an enumeration
        call: nuclei-asset.getv1assetenumerateenumiddomains
        with:
          search: rest.search
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/asset/enumerate/{enumerate-id}/domains/export
      name: v1-asset-enumerate-enumerate-id-domains-export
      description: REST surface for v1-asset-enumerate-enumerate_id-domains-export.
      operations:
      - method: GET
        name: getv1assetenumerateenumiddomainsexport
        description: Export the list of unique input domains of an enumeration.
        call: nuclei-asset.getv1assetenumerateenumiddomainsexport
        with:
          search: rest.search
          format: rest.format
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/asset/exposures/metrics
      name: v1-asset-exposures-metrics
      description: REST surface for v1-asset-exposures-metrics.
      operations:
      - method: GET
        name: getv1assetexposuresmetrics
        description: Get exposure metrics
        call: nuclei-asset.getv1assetexposuresmetrics
        with:
          interval: rest.interval
          X-Team-Id: rest.X-Team-Id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: nuclei-asset-mcp
    port: 9090
    transport: http
    description: MCP adapter for PDCP API — asset. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-list-unique-domains-discovered
      description: Get list of unique domains discovered in current month
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-asset.getv1assetenumeratedomains
      with:
        search: tools.search
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: export-list-unique-domains-discovered
      description: Export list of unique domains discovered in current month
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-asset.getv1assetenumeratedomainsexport
      with:
        search: tools.search
        format: tools.format
        start_date: tools.start_date
        end_date: tools.end_date
      outputParameters:
      - type: object
        mapping: $.
    - name: get-list-unique-domains-discovered-2
      description: Get list of unique domains discovered in an enumeration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-asset.getv1assetenumerateenumiddomains
      with:
        search: tools.search
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: export-list-unique-input-domains
      description: Export the list of unique input domains of an enumeration.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-asset.getv1assetenumerateenumiddomainsexport
      with:
        search: tools.search
        format: tools.format
      outputParameters:
      - type: object
        mapping: $.
    - name: get-exposure-metrics
      description: Get exposure metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nuclei-asset.getv1assetexposuresmetrics
      with:
        interval: tools.interval
        X-Team-Id: tools.X-Team-Id
      outputParameters:
      - type: object
        mapping: $.