naftiko: 1.0.0-alpha2 info: label: PDCP API — tasks description: 'PDCP API — tasks. 3 operations. Lead operation: Get Task Chunk. Self-contained Naftiko capability covering one Nuclei business surface.' tags: - Nuclei - tasks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NUCLEI_API_KEY: NUCLEI_API_KEY capability: consumes: - type: http namespace: nuclei-tasks baseUri: https://api.projectdiscovery.io description: PDCP API — tasks business capability. Self-contained, no shared references. resources: - name: v1-tasks-task_id-chunk path: /v1/tasks/{task_id}/chunk operations: - name: getv1taskchunk method: GET description: Get Task Chunk 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-tasks-task_id-chunk-chunk_id path: /v1/tasks/{task_id}/chunk/{chunk_id} operations: - name: getv1taskchunkdetails method: GET description: Get task chunk details 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: postv1taskchunkstatus method: POST description: Update a task chunk status 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: status in: query type: string description: Status of the chunk elaboration required: true authentication: type: apikey key: X-API-Key value: '{{env.NUCLEI_API_KEY}}' placement: header exposes: - type: rest namespace: nuclei-tasks-rest port: 8080 description: REST adapter for PDCP API — tasks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/tasks/{task-id}/chunk name: v1-tasks-task-id-chunk description: REST surface for v1-tasks-task_id-chunk. operations: - method: GET name: getv1taskchunk description: Get Task Chunk call: nuclei-tasks.getv1taskchunk with: X-Team-Id: rest.X-Team-Id outputParameters: - type: object mapping: $. - path: /v1/v1/tasks/{task-id}/chunk/{chunk-id} name: v1-tasks-task-id-chunk-chunk-id description: REST surface for v1-tasks-task_id-chunk-chunk_id. operations: - method: GET name: getv1taskchunkdetails description: Get task chunk details call: nuclei-tasks.getv1taskchunkdetails with: X-Team-Id: rest.X-Team-Id outputParameters: - type: object mapping: $. - method: POST name: postv1taskchunkstatus description: Update a task chunk status call: nuclei-tasks.postv1taskchunkstatus with: X-Team-Id: rest.X-Team-Id status: rest.status outputParameters: - type: object mapping: $. - type: mcp namespace: nuclei-tasks-mcp port: 9090 transport: http description: MCP adapter for PDCP API — tasks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-task-chunk description: Get Task Chunk hints: readOnly: true destructive: false idempotent: true call: nuclei-tasks.getv1taskchunk with: X-Team-Id: tools.X-Team-Id outputParameters: - type: object mapping: $. - name: get-task-chunk-details description: Get task chunk details hints: readOnly: true destructive: false idempotent: true call: nuclei-tasks.getv1taskchunkdetails with: X-Team-Id: tools.X-Team-Id outputParameters: - type: object mapping: $. - name: update-task-chunk-status description: Update a task chunk status hints: readOnly: false destructive: false idempotent: false call: nuclei-tasks.postv1taskchunkstatus with: X-Team-Id: tools.X-Team-Id status: tools.status outputParameters: - type: object mapping: $.