naftiko: 1.0.0-alpha2 info: label: PDCP API — domains description: 'PDCP API — domains. 2 operations. Lead operation: Get Enumeration Domain Contents. Self-contained Naftiko capability covering one Nuclei business surface.' tags: - Nuclei - domains created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NUCLEI_API_KEY: NUCLEI_API_KEY capability: consumes: - type: http namespace: nuclei-domains baseUri: https://api.projectdiscovery.io description: PDCP API — domains business capability. Self-contained, no shared references. resources: - name: v1-asset-domain-domain_name path: /v1/asset/domain/{domain_name} operations: - name: getv1assetdomaindomainnamecontents method: GET description: Get Enumeration Domain Contents outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: offset in: query type: integer description: The number of items to skip before starting to collect the result set - name: limit in: query type: integer description: The numbers of items to return - name: is_tech in: query type: boolean description: Return records that have technologies - name: is_favicon in: query type: boolean description: Return the records that have favicon - name: search in: query type: string description: Search on the content name - name: labels in: query type: string description: Filter by comma separated labels, e.g-> labels=p1,p2 - name: is_new in: query type: boolean description: Filter by new content - name: host in: query type: string description: Filter by comma separated hosts, e.g-> host=p1,p2 - name: port in: query type: string description: Filter by comma separated ports, e.g-> port=p1,p2 - name: status_code in: query type: string description: Filter by comma separated status codes, e.g-> status_code=p1,p2 - name: title in: query type: string description: Filter by comma separated titles, e.g-> title=p1,p2 - name: content_length in: query type: string description: Filter by comma separated content lengths, e.g-> content_length=p1,p2 - name: cname in: query type: string description: cname to filter - name: technologies in: query type: string description: technologies to filter - name: ip in: query type: string description: ips to filter - name: sort_asc in: query type: string description: comma separated ascending sorting e.g sort_asc=created_at,name - name: sort_desc in: query type: string description: comma separated descending sorting e.g sort_desc=created_at,name - name: is_screenshot in: query type: boolean description: asset with screenshots - name: time in: query type: string description: time filter to select - 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: X-Team-Id in: header type: string description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' - name: custom_filter in: query type: string description: custom query to filter. double encode the query string. - name: favicon in: query type: string description: Filter by comma separated favicons, e.g-> favicon=p1,p2 - name: v1-asset-domain-domain_name-filters path: /v1/asset/domain/{domain_name}/filters operations: - name: getv1assetdomaindomainnamefilters method: GET description: Group assets by filters for an domain outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: offset in: query type: integer description: The number of items to skip before starting to collect the result set - name: limit in: query type: integer description: The numbers of items to return - name: host in: query type: string - name: port in: query type: string - name: ip in: query type: string - name: cname in: query type: string - name: technologies in: query type: string - name: status_code in: query type: string - name: content_length in: query type: string - name: domain in: query type: array - name: title in: query type: string - name: webserver in: query type: string - name: labels in: query type: string - name: favicon in: query type: string - name: group_by in: query type: string description: Group by type. e.g. - host, port, favicon. required: true - name: sort_asc in: query type: string description: supported sort fields - name: sort_desc in: query type: string description: supported sort fields - name: time in: query type: string description: time filter to select - 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: X-Team-Id in: header type: string description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' - name: is_screenshot in: query type: boolean authentication: type: apikey key: X-API-Key value: '{{env.NUCLEI_API_KEY}}' placement: header exposes: - type: rest namespace: nuclei-domains-rest port: 8080 description: REST adapter for PDCP API — domains. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/asset/domain/{domain-name} name: v1-asset-domain-domain-name description: REST surface for v1-asset-domain-domain_name. operations: - method: GET name: getv1assetdomaindomainnamecontents description: Get Enumeration Domain Contents call: nuclei-domains.getv1assetdomaindomainnamecontents with: offset: rest.offset limit: rest.limit is_tech: rest.is_tech is_favicon: rest.is_favicon search: rest.search labels: rest.labels is_new: rest.is_new host: rest.host port: rest.port status_code: rest.status_code title: rest.title content_length: rest.content_length cname: rest.cname technologies: rest.technologies ip: rest.ip sort_asc: rest.sort_asc sort_desc: rest.sort_desc is_screenshot: rest.is_screenshot time: rest.time start_date: rest.start_date end_date: rest.end_date X-Team-Id: rest.X-Team-Id custom_filter: rest.custom_filter favicon: rest.favicon outputParameters: - type: object mapping: $. - path: /v1/v1/asset/domain/{domain-name}/filters name: v1-asset-domain-domain-name-filters description: REST surface for v1-asset-domain-domain_name-filters. operations: - method: GET name: getv1assetdomaindomainnamefilters description: Group assets by filters for an domain call: nuclei-domains.getv1assetdomaindomainnamefilters with: offset: rest.offset limit: rest.limit host: rest.host port: rest.port ip: rest.ip cname: rest.cname technologies: rest.technologies status_code: rest.status_code content_length: rest.content_length domain: rest.domain title: rest.title webserver: rest.webserver labels: rest.labels favicon: rest.favicon group_by: rest.group_by sort_asc: rest.sort_asc sort_desc: rest.sort_desc time: rest.time start_date: rest.start_date end_date: rest.end_date X-Team-Id: rest.X-Team-Id is_screenshot: rest.is_screenshot outputParameters: - type: object mapping: $. - type: mcp namespace: nuclei-domains-mcp port: 9090 transport: http description: MCP adapter for PDCP API — domains. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-enumeration-domain-contents description: Get Enumeration Domain Contents hints: readOnly: true destructive: false idempotent: true call: nuclei-domains.getv1assetdomaindomainnamecontents with: offset: tools.offset limit: tools.limit is_tech: tools.is_tech is_favicon: tools.is_favicon search: tools.search labels: tools.labels is_new: tools.is_new host: tools.host port: tools.port status_code: tools.status_code title: tools.title content_length: tools.content_length cname: tools.cname technologies: tools.technologies ip: tools.ip sort_asc: tools.sort_asc sort_desc: tools.sort_desc is_screenshot: tools.is_screenshot time: tools.time start_date: tools.start_date end_date: tools.end_date X-Team-Id: tools.X-Team-Id custom_filter: tools.custom_filter favicon: tools.favicon outputParameters: - type: object mapping: $. - name: group-assets-filters-domain description: Group assets by filters for an domain hints: readOnly: true destructive: false idempotent: true call: nuclei-domains.getv1assetdomaindomainnamefilters with: offset: tools.offset limit: tools.limit host: tools.host port: tools.port ip: tools.ip cname: tools.cname technologies: tools.technologies status_code: tools.status_code content_length: tools.content_length domain: tools.domain title: tools.title webserver: tools.webserver labels: tools.labels favicon: tools.favicon group_by: tools.group_by sort_asc: tools.sort_asc sort_desc: tools.sort_desc time: tools.time start_date: tools.start_date end_date: tools.end_date X-Team-Id: tools.X-Team-Id is_screenshot: tools.is_screenshot outputParameters: - type: object mapping: $.