naftiko: 1.0.0-alpha2 info: label: Secure Code Warrior Portal API — Teams description: 'Secure Code Warrior Portal API — Teams. 5 operations. Lead operation: Create Team. Self-contained Naftiko capability covering one Secure Code Warrior business surface.' tags: - Secure Code Warrior - Teams created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SECURE_CODE_WARRIOR_API_KEY: SECURE_CODE_WARRIOR_API_KEY capability: consumes: - type: http namespace: portal-teams baseUri: https://portal-api.securecodewarrior.com/api/v2 description: Secure Code Warrior Portal API — Teams business capability. Self-contained, no shared references. resources: - name: team path: /team operations: - name: createteam method: POST description: Create Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: team-team_id path: /team/{team_id} operations: - name: getteam method: GET description: Get Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: team_id in: path type: string required: true - name: deleteteam method: DELETE description: Delete Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: team_id in: path type: string required: true - name: updateteam method: PATCH description: Update Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: team_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: teams path: /teams operations: - name: listteams method: GET description: List Teams outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer - name: name in: query type: string description: Filter by team name authentication: type: apikey key: X-API-Key value: '{{env.SECURE_CODE_WARRIOR_API_KEY}}' placement: header exposes: - type: rest namespace: portal-teams-rest port: 8080 description: REST adapter for Secure Code Warrior Portal API — Teams. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/team name: team description: REST surface for team. operations: - method: POST name: createteam description: Create Team call: portal-teams.createteam with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/team/{team-id} name: team-team-id description: REST surface for team-team_id. operations: - method: GET name: getteam description: Get Team call: portal-teams.getteam with: team_id: rest.team_id outputParameters: - type: object mapping: $. - method: DELETE name: deleteteam description: Delete Team call: portal-teams.deleteteam with: team_id: rest.team_id outputParameters: - type: object mapping: $. - method: PATCH name: updateteam description: Update Team call: portal-teams.updateteam with: team_id: rest.team_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/teams name: teams description: REST surface for teams. operations: - method: GET name: listteams description: List Teams call: portal-teams.listteams with: page: rest.page name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: portal-teams-mcp port: 9090 transport: http description: MCP adapter for Secure Code Warrior Portal API — Teams. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-team description: Create Team hints: readOnly: false destructive: false idempotent: false call: portal-teams.createteam with: body: tools.body outputParameters: - type: object mapping: $. - name: get-team description: Get Team hints: readOnly: true destructive: false idempotent: true call: portal-teams.getteam with: team_id: tools.team_id outputParameters: - type: object mapping: $. - name: delete-team description: Delete Team hints: readOnly: false destructive: true idempotent: true call: portal-teams.deleteteam with: team_id: tools.team_id outputParameters: - type: object mapping: $. - name: update-team description: Update Team hints: readOnly: false destructive: false idempotent: true call: portal-teams.updateteam with: team_id: tools.team_id body: tools.body outputParameters: - type: object mapping: $. - name: list-teams description: List Teams hints: readOnly: true destructive: false idempotent: true call: portal-teams.listteams with: page: tools.page name: tools.name outputParameters: - type: object mapping: $.