Nuclei · Capability
PDCP API — configurations
PDCP API — configurations. 14 operations. Lead operation: Get Configs List. Self-contained Naftiko capability covering one Nuclei business surface.
What You Can Do
GET
Getv1scansconfig
— Get Configs List
/v1/v1/scans/config
POST
Postv1scansconfig
— Add Config
/v1/v1/scans/config
GET
Getscansconfigexclude
— Get excluded templates
/v1/v1/scans/config/exclude
POST
Postscansconfigexclude
— Add excluded templates and targets
/v1/v1/scans/config/exclude
DELETE
Deletescansconfigexclude
— Delete excluded templates or targets by ids
/v1/v1/scans/config/exclude
GET
Getv1scansconfigseverity
— Get custom severity mappings
/v1/v1/scans/config/severity
POST
Postv1scansconfigseverity
— Add custom severity mapping
/v1/v1/scans/config/severity
DELETE
Deletev1scansconfigseverity
— Delete custom severity mapping
/v1/v1/scans/config/severity
POST
Postv1scansconfigverify
— Verify Config
/v1/v1/scans/config/verify
POST
Postv1scansconfigverifycontents
— Get Verify Config Contents
/v1/v1/scans/config/verify/contents
GET
Getv1scansconfigconfigid
— Get Config
/v1/v1/scans/config/{config-id}
PATCH
Patchv1scansconfigconfigid
— Update Config
/v1/v1/scans/config/{config-id}
DELETE
Deletev1scansconfigconfigid
— Delete Config
/v1/v1/scans/config/{config-id}
PATCH
Patchv1scansconfigconfigidseverity
— Modify custom severity mapping
/v1/v1/scans/config/{config-id}/severity
MCP Tools
get-configs-list
Get Configs List
read-only
idempotent
add-config
Add Config
get-excluded-templates
Get excluded templates
read-only
idempotent
add-excluded-templates-and-targets
Add excluded templates and targets
delete-excluded-templates-targets-ids
Delete excluded templates or targets by ids
idempotent
get-custom-severity-mappings
Get custom severity mappings
read-only
idempotent
add-custom-severity-mapping
Add custom severity mapping
delete-custom-severity-mapping
Delete custom severity mapping
idempotent
verify-config
Verify Config
get-verify-config-contents
Get Verify Config Contents
read-only
get-config
Get Config
read-only
idempotent
update-config
Update Config
idempotent
delete-config
Delete Config
idempotent
modify-custom-severity-mapping
Modify custom severity mapping
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: PDCP API — configurations
description: 'PDCP API — configurations. 14 operations. Lead operation: Get Configs List. Self-contained Naftiko capability
covering one Nuclei business surface.'
tags:
- Nuclei
- configurations
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
NUCLEI_API_KEY: NUCLEI_API_KEY
capability:
consumes:
- type: http
namespace: nuclei-configurations
baseUri: https://api.projectdiscovery.io
description: PDCP API — configurations business capability. Self-contained, no shared references.
resources:
- name: v1-scans-config
path: /v1/scans/config
operations:
- name: getv1scansconfig
method: GET
description: Get Configs List
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: type
in: query
type: string
description: filter by the type of config
- name: search
in: query
type: string
description: search by config name
- name: limit
in: query
type: integer
description: The numbers of items to return
- name: offset
in: query
type: integer
description: The number of items to skip before starting to collect the result set
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: postv1scansconfig
method: POST
description: Add Config
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v1-scans-config-exclude
path: /v1/scans/config/exclude
operations:
- name: getscansconfigexclude
method: GET
description: Get excluded templates
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: postscansconfigexclude
method: POST
description: Add excluded templates and targets
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deletescansconfigexclude
method: DELETE
description: Delete excluded templates or targets by ids
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v1-scans-config-severity
path: /v1/scans/config/severity
operations:
- name: getv1scansconfigseverity
method: GET
description: Get custom severity mappings
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: postv1scansconfigseverity
method: POST
description: Add custom severity mapping
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deletev1scansconfigseverity
method: DELETE
description: Delete custom severity mapping
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v1-scans-config-verify
path: /v1/scans/config/verify
operations:
- name: postv1scansconfigverify
method: POST
description: Verify Config
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v1-scans-config-verify-contents
path: /v1/scans/config/verify/contents
operations:
- name: postv1scansconfigverifycontents
method: POST
description: Get Verify Config Contents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: project_id
in: query
type: string
description: Jira Project ID to fetch details for
- name: team_id
in: query
type: string
description: Linear Team ID to fetch details for
- name: cloud_id
in: query
type: string
description: Specific Jira cloud ID when multiple clouds are available
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v1-scans-config-config_id
path: /v1/scans/config/{config_id}
operations:
- name: getv1scansconfigconfigid
method: GET
description: Get Config
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: config_json
in: query
type: boolean
description: config is in json format
- name: patchv1scansconfigconfigid
method: PATCH
description: Update Config
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: config_json
in: query
type: boolean
description: Specify payload is in json
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deletev1scansconfigconfigid
method: DELETE
description: Delete Config
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: v1-scans-config-config_id-severity
path: /v1/scans/config/{config_id}/severity
operations:
- name: patchv1scansconfigconfigidseverity
method: PATCH
description: Modify custom severity mapping
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Team-Id
in: header
type: string
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: apikey
key: X-API-Key
value: '{{env.NUCLEI_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: nuclei-configurations-rest
port: 8080
description: REST adapter for PDCP API — configurations. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/scans/config
name: v1-scans-config
description: REST surface for v1-scans-config.
operations:
- method: GET
name: getv1scansconfig
description: Get Configs List
call: nuclei-configurations.getv1scansconfig
with:
type: rest.type
search: rest.search
limit: rest.limit
offset: rest.offset
X-Team-Id: rest.X-Team-Id
outputParameters:
- type: object
mapping: $.
- method: POST
name: postv1scansconfig
description: Add Config
call: nuclei-configurations.postv1scansconfig
with:
X-Team-Id: rest.X-Team-Id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/scans/config/exclude
name: v1-scans-config-exclude
description: REST surface for v1-scans-config-exclude.
operations:
- method: GET
name: getscansconfigexclude
description: Get excluded templates
call: nuclei-configurations.getscansconfigexclude
with:
X-Team-Id: rest.X-Team-Id
outputParameters:
- type: object
mapping: $.
- method: POST
name: postscansconfigexclude
description: Add excluded templates and targets
call: nuclei-configurations.postscansconfigexclude
with:
X-Team-Id: rest.X-Team-Id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletescansconfigexclude
description: Delete excluded templates or targets by ids
call: nuclei-configurations.deletescansconfigexclude
with:
X-Team-Id: rest.X-Team-Id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/scans/config/severity
name: v1-scans-config-severity
description: REST surface for v1-scans-config-severity.
operations:
- method: GET
name: getv1scansconfigseverity
description: Get custom severity mappings
call: nuclei-configurations.getv1scansconfigseverity
with:
X-Team-Id: rest.X-Team-Id
outputParameters:
- type: object
mapping: $.
- method: POST
name: postv1scansconfigseverity
description: Add custom severity mapping
call: nuclei-configurations.postv1scansconfigseverity
with:
X-Team-Id: rest.X-Team-Id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletev1scansconfigseverity
description: Delete custom severity mapping
call: nuclei-configurations.deletev1scansconfigseverity
with:
X-Team-Id: rest.X-Team-Id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/scans/config/verify
name: v1-scans-config-verify
description: REST surface for v1-scans-config-verify.
operations:
- method: POST
name: postv1scansconfigverify
description: Verify Config
call: nuclei-configurations.postv1scansconfigverify
with:
X-Team-Id: rest.X-Team-Id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/scans/config/verify/contents
name: v1-scans-config-verify-contents
description: REST surface for v1-scans-config-verify-contents.
operations:
- method: POST
name: postv1scansconfigverifycontents
description: Get Verify Config Contents
call: nuclei-configurations.postv1scansconfigverifycontents
with:
X-Team-Id: rest.X-Team-Id
project_id: rest.project_id
team_id: rest.team_id
cloud_id: rest.cloud_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/scans/config/{config-id}
name: v1-scans-config-config-id
description: REST surface for v1-scans-config-config_id.
operations:
- method: GET
name: getv1scansconfigconfigid
description: Get Config
call: nuclei-configurations.getv1scansconfigconfigid
with:
X-Team-Id: rest.X-Team-Id
config_json: rest.config_json
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: patchv1scansconfigconfigid
description: Update Config
call: nuclei-configurations.patchv1scansconfigconfigid
with:
X-Team-Id: rest.X-Team-Id
config_json: rest.config_json
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletev1scansconfigconfigid
description: Delete Config
call: nuclei-configurations.deletev1scansconfigconfigid
with:
X-Team-Id: rest.X-Team-Id
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/scans/config/{config-id}/severity
name: v1-scans-config-config-id-severity
description: REST surface for v1-scans-config-config_id-severity.
operations:
- method: PATCH
name: patchv1scansconfigconfigidseverity
description: Modify custom severity mapping
call: nuclei-configurations.patchv1scansconfigconfigidseverity
with:
X-Team-Id: rest.X-Team-Id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: nuclei-configurations-mcp
port: 9090
transport: http
description: MCP adapter for PDCP API — configurations. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: get-configs-list
description: Get Configs List
hints:
readOnly: true
destructive: false
idempotent: true
call: nuclei-configurations.getv1scansconfig
with:
type: tools.type
search: tools.search
limit: tools.limit
offset: tools.offset
X-Team-Id: tools.X-Team-Id
outputParameters:
- type: object
mapping: $.
- name: add-config
description: Add Config
hints:
readOnly: false
destructive: false
idempotent: false
call: nuclei-configurations.postv1scansconfig
with:
X-Team-Id: tools.X-Team-Id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-excluded-templates
description: Get excluded templates
hints:
readOnly: true
destructive: false
idempotent: true
call: nuclei-configurations.getscansconfigexclude
with:
X-Team-Id: tools.X-Team-Id
outputParameters:
- type: object
mapping: $.
- name: add-excluded-templates-and-targets
description: Add excluded templates and targets
hints:
readOnly: false
destructive: false
idempotent: false
call: nuclei-configurations.postscansconfigexclude
with:
X-Team-Id: tools.X-Team-Id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-excluded-templates-targets-ids
description: Delete excluded templates or targets by ids
hints:
readOnly: false
destructive: true
idempotent: true
call: nuclei-configurations.deletescansconfigexclude
with:
X-Team-Id: tools.X-Team-Id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-custom-severity-mappings
description: Get custom severity mappings
hints:
readOnly: true
destructive: false
idempotent: true
call: nuclei-configurations.getv1scansconfigseverity
with:
X-Team-Id: tools.X-Team-Id
outputParameters:
- type: object
mapping: $.
- name: add-custom-severity-mapping
description: Add custom severity mapping
hints:
readOnly: false
destructive: false
idempotent: false
call: nuclei-configurations.postv1scansconfigseverity
with:
X-Team-Id: tools.X-Team-Id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-custom-severity-mapping
description: Delete custom severity mapping
hints:
readOnly: false
destructive: true
idempotent: true
call: nuclei-configurations.deletev1scansconfigseverity
with:
X-Team-Id: tools.X-Team-Id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: verify-config
description: Verify Config
hints:
readOnly: false
destructive: false
idempotent: false
call: nuclei-configurations.postv1scansconfigverify
with:
X-Team-Id: tools.X-Team-Id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-verify-config-contents
description: Get Verify Config Contents
hints:
readOnly: true
destructive: false
idempotent: false
call: nuclei-configurations.postv1scansconfigverifycontents
with:
X-Team-Id: tools.X-Team-Id
project_id: tools.project_id
team_id: tools.team_id
cloud_id: tools.cloud_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-config
description: Get Config
hints:
readOnly: true
destructive: false
idempotent: true
call: nuclei-configurations.getv1scansconfigconfigid
with:
X-Team-Id: tools.X-Team-Id
config_json: tools.config_json
outputParameters:
- type: object
mapping: $.
- name: update-config
description: Update Config
hints:
readOnly: false
destructive: false
idempotent: true
call: nuclei-configurations.patchv1scansconfigconfigid
with:
X-Team-Id: tools.X-Team-Id
config_json: tools.config_json
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-config
description: Delete Config
hints:
readOnly: false
destructive: true
idempotent: true
call: nuclei-configurations.deletev1scansconfigconfigid
with:
X-Team-Id: tools.X-Team-Id
outputParameters:
- type: object
mapping: $.
- name: modify-custom-severity-mapping
description: Modify custom severity mapping
hints:
readOnly: false
destructive: false
idempotent: true
call: nuclei-configurations.patchv1scansconfigconfigidseverity
with:
X-Team-Id: tools.X-Team-Id
body: tools.body
outputParameters:
- type: object
mapping: $.