naftiko: 1.0.0-alpha2 info: label: FlashBlade REST API — Logs description: 'FlashBlade REST API — Logs. 4 operations. Lead operation: Pure Storage GET Logs. Self-contained Naftiko capability covering one Pure Storage business surface.' tags: - Pure Storage - Logs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PURE_STORAGE_API_KEY: PURE_STORAGE_API_KEY capability: consumes: - type: http namespace: flashblade-rest-logs baseUri: http://[array] description: FlashBlade REST API — Logs business capability. Self-contained, no shared references. resources: - name: api-2.26-logs path: /api/2.26/logs operations: - name: get method: GET description: Pure Storage GET Logs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-logs-async path: /api/2.26/logs-async operations: - name: get method: GET description: Pure Storage GET Logs-async outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patch method: PATCH description: Pure Storage PATCH Logs-async outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-2.26-logs-async-download path: /api/2.26/logs-async/download operations: - name: get method: GET description: Pure Storage GET Logs-async/download outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: x-auth-token value: '{{env.PURE_STORAGE_API_KEY}}' placement: header exposes: - type: rest namespace: flashblade-rest-logs-rest port: 8080 description: REST adapter for FlashBlade REST API — Logs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/2-26/logs name: api-2-26-logs description: REST surface for api-2.26-logs. operations: - method: GET name: get description: Pure Storage GET Logs call: flashblade-rest-logs.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/logs-async name: api-2-26-logs-async description: REST surface for api-2.26-logs-async. operations: - method: GET name: get description: Pure Storage GET Logs-async call: flashblade-rest-logs.get outputParameters: - type: object mapping: $. - method: PATCH name: patch description: Pure Storage PATCH Logs-async call: flashblade-rest-logs.patch with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/2-26/logs-async/download name: api-2-26-logs-async-download description: REST surface for api-2.26-logs-async-download. operations: - method: GET name: get description: Pure Storage GET Logs-async/download call: flashblade-rest-logs.get outputParameters: - type: object mapping: $. - type: mcp namespace: flashblade-rest-logs-mcp port: 9090 transport: http description: MCP adapter for FlashBlade REST API — Logs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pure-storage-get-logs description: Pure Storage GET Logs hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-logs.get outputParameters: - type: object mapping: $. - name: pure-storage-get-logs-async description: Pure Storage GET Logs-async hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-logs.get outputParameters: - type: object mapping: $. - name: pure-storage-patch-logs-async description: Pure Storage PATCH Logs-async hints: readOnly: false destructive: false idempotent: true call: flashblade-rest-logs.patch with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-get-logs-async-2 description: Pure Storage GET Logs-async/download hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-logs.get outputParameters: - type: object mapping: $.