naftiko: 1.0.0-alpha2 info: label: PDCP API — automations description: 'PDCP API — automations. 5 operations. Lead operation: Get Automations. Self-contained Naftiko capability covering one Nuclei business surface.' tags: - Nuclei - automations created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NUCLEI_API_KEY: NUCLEI_API_KEY capability: consumes: - type: http namespace: nuclei-automations baseUri: https://api.projectdiscovery.io description: PDCP API — automations business capability. Self-contained, no shared references. resources: - name: v1-automations path: /v1/automations operations: - name: getv1automations method: GET description: Get Automations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: offset in: query type: integer - name: limit in: query type: integer - name: X-Team-Id in: header type: string description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' - name: postv1automations method: POST description: Create Automation 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-automations-event path: /v1/automations/{event} operations: - name: getv1automationsevent method: GET description: Get Automation 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: patchv1automationsevent method: PATCH description: Update Automation 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: deletev1automationsevent method: DELETE description: Delete Automation 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' authentication: type: apikey key: X-API-Key value: '{{env.NUCLEI_API_KEY}}' placement: header exposes: - type: rest namespace: nuclei-automations-rest port: 8080 description: REST adapter for PDCP API — automations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/automations name: v1-automations description: REST surface for v1-automations. operations: - method: GET name: getv1automations description: Get Automations call: nuclei-automations.getv1automations with: offset: rest.offset limit: rest.limit X-Team-Id: rest.X-Team-Id outputParameters: - type: object mapping: $. - method: POST name: postv1automations description: Create Automation call: nuclei-automations.postv1automations with: X-Team-Id: rest.X-Team-Id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/automations/{event} name: v1-automations-event description: REST surface for v1-automations-event. operations: - method: GET name: getv1automationsevent description: Get Automation call: nuclei-automations.getv1automationsevent with: X-Team-Id: rest.X-Team-Id outputParameters: - type: object mapping: $. - method: PATCH name: patchv1automationsevent description: Update Automation call: nuclei-automations.patchv1automationsevent with: X-Team-Id: rest.X-Team-Id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletev1automationsevent description: Delete Automation call: nuclei-automations.deletev1automationsevent with: X-Team-Id: rest.X-Team-Id outputParameters: - type: object mapping: $. - type: mcp namespace: nuclei-automations-mcp port: 9090 transport: http description: MCP adapter for PDCP API — automations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-automations description: Get Automations hints: readOnly: true destructive: false idempotent: true call: nuclei-automations.getv1automations with: offset: tools.offset limit: tools.limit X-Team-Id: tools.X-Team-Id outputParameters: - type: object mapping: $. - name: create-automation description: Create Automation hints: readOnly: false destructive: false idempotent: false call: nuclei-automations.postv1automations with: X-Team-Id: tools.X-Team-Id body: tools.body outputParameters: - type: object mapping: $. - name: get-automation description: Get Automation hints: readOnly: true destructive: false idempotent: true call: nuclei-automations.getv1automationsevent with: X-Team-Id: tools.X-Team-Id outputParameters: - type: object mapping: $. - name: update-automation description: Update Automation hints: readOnly: false destructive: false idempotent: true call: nuclei-automations.patchv1automationsevent with: X-Team-Id: tools.X-Team-Id body: tools.body outputParameters: - type: object mapping: $. - name: delete-automation description: Delete Automation hints: readOnly: false destructive: true idempotent: true call: nuclei-automations.deletev1automationsevent with: X-Team-Id: tools.X-Team-Id outputParameters: - type: object mapping: $.