Nuclei · Capability
PDCP API — domains
PDCP API — domains. 2 operations. Lead operation: Get Enumeration Domain Contents. Self-contained Naftiko capability covering one Nuclei business surface.
What You Can Do
GET
Getv1assetdomaindomainnamecontents
— Get Enumeration Domain Contents
/v1/v1/asset/domain/{domain-name}
GET
Getv1assetdomaindomainnamefilters
— Group assets by filters for an domain
/v1/v1/asset/domain/{domain-name}/filters
MCP Tools
get-enumeration-domain-contents
Get Enumeration Domain Contents
read-only
idempotent
group-assets-filters-domain
Group assets by filters for an domain
read-only
idempotent
Capability Spec
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: $.