Nuclei · Capability
PDCP API — agents
PDCP API — agents. 6 operations. Lead operation: Get Agents. Self-contained Naftiko capability covering one Nuclei business surface.
What You Can Do
GET
Getv1agents
— Get Agents
/v1/v1/agents
PATCH
Patchv1agents
— Bulk Update Agents
/v1/v1/agents
POST
Postv1agentsin
— Register Agents
/v1/v1/agents/in
POST
Postv1agentsout
— Deregister Agent
/v1/v1/agents/out
GET
Getv1agentsid
— Get Agent by ID
/v1/v1/agents/{id}
POST
Postv1agentsid
— Update Agent
/v1/v1/agents/{id}
MCP Tools
get-agents
Get Agents
read-only
idempotent
bulk-update-agents
Bulk Update Agents
idempotent
register-agents
Register Agents
deregister-agent
Deregister Agent
get-agent-id
Get Agent by ID
read-only
idempotent
update-agent
Update Agent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: PDCP API — agents
description: 'PDCP API — agents. 6 operations. Lead operation: Get Agents. Self-contained Naftiko capability covering one
Nuclei business surface.'
tags:
- Nuclei
- agents
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
NUCLEI_API_KEY: NUCLEI_API_KEY
capability:
consumes:
- type: http
namespace: nuclei-agents
baseUri: https://api.projectdiscovery.io
description: PDCP API — agents business capability. Self-contained, no shared references.
resources:
- name: v1-agents
path: /v1/agents
operations:
- name: getv1agents
method: GET
description: Get Agents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-api-key
in: header
type: string
description: API key
- name: patchv1agents
method: PATCH
description: Bulk Update Agents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-api-key
in: header
type: string
description: API key
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-agents-in
path: /v1/agents/in
operations:
- name: postv1agentsin
method: POST
description: Register Agents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: os
in: query
type: string
description: Operating system
- name: arch
in: query
type: string
description: Architecture
- name: id
in: query
type: string
description: Agent ID
- name: name
in: query
type: string
description: Agent name
- name: tags
in: query
type: string
description: Comma-separated tags
- name: networks
in: query
type: string
description: Comma-separated networks
- name: network_subnets
in: query
type: string
description: Comma-separated network subnets
- name: type
in: query
type: string
description: Agent type (agent or tunnel)
- name: x-api-key
in: header
type: string
description: API key
- name: v1-agents-out
path: /v1/agents/out
operations:
- name: postv1agentsout
method: POST
description: Deregister Agent
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: query
type: string
description: Agent ID
- name: x-api-key
in: header
type: string
description: API key
- name: v1-agents-id
path: /v1/agents/{id}
operations:
- name: getv1agentsid
method: GET
description: Get Agent by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-api-key
in: header
type: string
description: API key
- name: postv1agentsid
method: POST
description: Update Agent
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: x-api-key
in: header
type: string
description: API key
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: X-API-Key
value: '{{env.NUCLEI_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: nuclei-agents-rest
port: 8080
description: REST adapter for PDCP API — agents. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/v1/agents
name: v1-agents
description: REST surface for v1-agents.
operations:
- method: GET
name: getv1agents
description: Get Agents
call: nuclei-agents.getv1agents
with:
x-api-key: rest.x-api-key
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: patchv1agents
description: Bulk Update Agents
call: nuclei-agents.patchv1agents
with:
x-api-key: rest.x-api-key
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/agents/in
name: v1-agents-in
description: REST surface for v1-agents-in.
operations:
- method: POST
name: postv1agentsin
description: Register Agents
call: nuclei-agents.postv1agentsin
with:
os: rest.os
arch: rest.arch
id: rest.id
name: rest.name
tags: rest.tags
networks: rest.networks
network_subnets: rest.network_subnets
type: rest.type
x-api-key: rest.x-api-key
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/agents/out
name: v1-agents-out
description: REST surface for v1-agents-out.
operations:
- method: POST
name: postv1agentsout
description: Deregister Agent
call: nuclei-agents.postv1agentsout
with:
id: rest.id
x-api-key: rest.x-api-key
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/agents/{id}
name: v1-agents-id
description: REST surface for v1-agents-id.
operations:
- method: GET
name: getv1agentsid
description: Get Agent by ID
call: nuclei-agents.getv1agentsid
with:
x-api-key: rest.x-api-key
outputParameters:
- type: object
mapping: $.
- method: POST
name: postv1agentsid
description: Update Agent
call: nuclei-agents.postv1agentsid
with:
x-api-key: rest.x-api-key
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: nuclei-agents-mcp
port: 9090
transport: http
description: MCP adapter for PDCP API — agents. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: get-agents
description: Get Agents
hints:
readOnly: true
destructive: false
idempotent: true
call: nuclei-agents.getv1agents
with:
x-api-key: tools.x-api-key
outputParameters:
- type: object
mapping: $.
- name: bulk-update-agents
description: Bulk Update Agents
hints:
readOnly: false
destructive: false
idempotent: true
call: nuclei-agents.patchv1agents
with:
x-api-key: tools.x-api-key
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: register-agents
description: Register Agents
hints:
readOnly: false
destructive: false
idempotent: false
call: nuclei-agents.postv1agentsin
with:
os: tools.os
arch: tools.arch
id: tools.id
name: tools.name
tags: tools.tags
networks: tools.networks
network_subnets: tools.network_subnets
type: tools.type
x-api-key: tools.x-api-key
outputParameters:
- type: object
mapping: $.
- name: deregister-agent
description: Deregister Agent
hints:
readOnly: false
destructive: false
idempotent: false
call: nuclei-agents.postv1agentsout
with:
id: tools.id
x-api-key: tools.x-api-key
outputParameters:
- type: object
mapping: $.
- name: get-agent-id
description: Get Agent by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: nuclei-agents.getv1agentsid
with:
x-api-key: tools.x-api-key
outputParameters:
- type: object
mapping: $.
- name: update-agent
description: Update Agent
hints:
readOnly: false
destructive: false
idempotent: false
call: nuclei-agents.postv1agentsid
with:
x-api-key: tools.x-api-key
body: tools.body
outputParameters:
- type: object
mapping: $.