naftiko: 1.0.0-alpha2 info: label: PDCP API — user description: 'PDCP API — user. 3 operations. Lead operation: Migrate Personal workspace data to a new team. Self-contained Naftiko capability covering one Nuclei business surface.' tags: - Nuclei - user created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NUCLEI_API_KEY: NUCLEI_API_KEY capability: consumes: - type: http namespace: nuclei-user baseUri: https://api.projectdiscovery.io description: PDCP API — user business capability. Self-contained, no shared references. resources: - name: v1-user-migrate_to_team path: /v1/user/migrate_to_team operations: - name: postv1usermigratetoteam method: POST description: Migrate Personal workspace data to a new team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-user-notification_preference path: /v1/user/notification_preference operations: - name: getv1usernotificationpreference method: GET description: Get User Notification Preferences outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patchv1usernotificationpreference method: PATCH description: Update User Notification Preferences outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - 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-user-rest port: 8080 description: REST adapter for PDCP API — user. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/user/migrate-to-team name: v1-user-migrate-to-team description: REST surface for v1-user-migrate_to_team. operations: - method: POST name: postv1usermigratetoteam description: Migrate Personal workspace data to a new team call: nuclei-user.postv1usermigratetoteam with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/user/notification-preference name: v1-user-notification-preference description: REST surface for v1-user-notification_preference. operations: - method: GET name: getv1usernotificationpreference description: Get User Notification Preferences call: nuclei-user.getv1usernotificationpreference outputParameters: - type: object mapping: $. - method: PATCH name: patchv1usernotificationpreference description: Update User Notification Preferences call: nuclei-user.patchv1usernotificationpreference with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: nuclei-user-mcp port: 9090 transport: http description: MCP adapter for PDCP API — user. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: migrate-personal-workspace-data-new description: Migrate Personal workspace data to a new team hints: readOnly: false destructive: false idempotent: false call: nuclei-user.postv1usermigratetoteam with: body: tools.body outputParameters: - type: object mapping: $. - name: get-user-notification-preferences description: Get User Notification Preferences hints: readOnly: true destructive: false idempotent: true call: nuclei-user.getv1usernotificationpreference outputParameters: - type: object mapping: $. - name: update-user-notification-preferences description: Update User Notification Preferences hints: readOnly: false destructive: false idempotent: true call: nuclei-user.patchv1usernotificationpreference with: body: tools.body outputParameters: - type: object mapping: $.