naftiko: 1.0.0-alpha2 info: label: FlashBlade REST API — File Systems description: 'FlashBlade REST API — File Systems. 32 operations. Lead operation: Pure Storage GET File-systems. Self-contained Naftiko capability covering one Pure Storage business surface.' tags: - Pure Storage - File Systems 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-file-systems baseUri: http://[array] description: FlashBlade REST API — File Systems business capability. Self-contained, no shared references. resources: - name: api-2.26-file-systems path: /api/2.26/file-systems operations: - name: get method: GET description: Pure Storage GET File-systems outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage POST File-systems outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: delete method: DELETE description: Pure Storage DELETE File-systems outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patch method: PATCH description: Pure Storage PATCH File-systems 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-file-systems-audit-policies path: /api/2.26/file-systems/audit-policies operations: - name: get method: GET description: Pure Storage GET File-systems/audit-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage POST File-systems/audit-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete method: DELETE description: Pure Storage DELETE File-systems/audit-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-data-eviction-policies path: /api/2.26/file-systems/data-eviction-policies operations: - name: get method: GET description: Pure Storage GET File-systems/data-eviction-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage POST File-systems/data-eviction-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete method: DELETE description: Pure Storage DELETE File-systems/data-eviction-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-groups path: /api/2.26/file-systems/groups operations: - name: get method: GET description: Pure Storage GET File-systems/groups outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-groups-performance path: /api/2.26/file-systems/groups/performance operations: - name: get method: GET description: Pure Storage GET File-systems/groups/performance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-locks path: /api/2.26/file-systems/locks operations: - name: get method: GET description: Pure Storage Get a List of Active File Locks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete method: DELETE description: Pure Storage Invalidate File Locks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-locks-clients path: /api/2.26/file-systems/locks/clients operations: - name: get method: GET description: Pure Storage Get a List of Clients That Hold Active File Locks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-locks-nlm-reclamations path: /api/2.26/file-systems/locks/nlm-reclamations operations: - name: post method: POST description: Pure Storage Initiate NLM Reclamation. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-open-files path: /api/2.26/file-systems/open-files operations: - name: get method: GET description: Pure Storage GET File-systems/open-files outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete method: DELETE description: Pure Storage DELETE File-systems/open-files outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-performance path: /api/2.26/file-systems/performance operations: - name: get method: GET description: Pure Storage GET File-systems/performance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-policies path: /api/2.26/file-systems/policies operations: - name: get method: GET description: Pure Storage GET File-systems/policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage POST File-systems/policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete method: DELETE description: Pure Storage DELETE File-systems/policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-policies-all path: /api/2.26/file-systems/policies-all operations: - name: get method: GET description: Pure Storage GET File-systems/policies-all outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-sessions path: /api/2.26/file-systems/sessions operations: - name: get method: GET description: Pure Storage Get a List of Active Sessions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete method: DELETE description: Pure Storage Delete Sessions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-space-storage-classes path: /api/2.26/file-systems/space/storage-classes operations: - name: get method: GET description: Pure Storage GET File-systems/space/storage-classes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-user-group-quota-policies path: /api/2.26/file-systems/user-group-quota-policies operations: - name: get method: GET description: Pure Storage GET File-systems/user-group-quota-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage POST File-systems/user-group-quota-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete method: DELETE description: Pure Storage DELETE File-systems/user-group-quota-policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-users path: /api/2.26/file-systems/users operations: - name: get method: GET description: Pure Storage GET File-systems/users outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-users-performance path: /api/2.26/file-systems/users/performance operations: - name: get method: GET description: Pure Storage GET File-systems/users/performance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.26-file-systems-worm-data-policies path: /api/2.26/file-systems/worm-data-policies operations: - name: get method: GET description: Pure Storage GET File-systems/worm-data-policies 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-file-systems-rest port: 8080 description: REST adapter for FlashBlade REST API — File Systems. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/2-26/file-systems name: api-2-26-file-systems description: REST surface for api-2.26-file-systems. operations: - method: GET name: get description: Pure Storage GET File-systems call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage POST File-systems call: flashblade-rest-file-systems.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage DELETE File-systems call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - method: PATCH name: patch description: Pure Storage PATCH File-systems call: flashblade-rest-file-systems.patch with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/audit-policies name: api-2-26-file-systems-audit-policies description: REST surface for api-2.26-file-systems-audit-policies. operations: - method: GET name: get description: Pure Storage GET File-systems/audit-policies call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage POST File-systems/audit-policies call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage DELETE File-systems/audit-policies call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/data-eviction-policies name: api-2-26-file-systems-data-eviction-policies description: REST surface for api-2.26-file-systems-data-eviction-policies. operations: - method: GET name: get description: Pure Storage GET File-systems/data-eviction-policies call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage POST File-systems/data-eviction-policies call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage DELETE File-systems/data-eviction-policies call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/groups name: api-2-26-file-systems-groups description: REST surface for api-2.26-file-systems-groups. operations: - method: GET name: get description: Pure Storage GET File-systems/groups call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/groups/performance name: api-2-26-file-systems-groups-performance description: REST surface for api-2.26-file-systems-groups-performance. operations: - method: GET name: get description: Pure Storage GET File-systems/groups/performance call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/locks name: api-2-26-file-systems-locks description: REST surface for api-2.26-file-systems-locks. operations: - method: GET name: get description: Pure Storage Get a List of Active File Locks call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Invalidate File Locks call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/locks/clients name: api-2-26-file-systems-locks-clients description: REST surface for api-2.26-file-systems-locks-clients. operations: - method: GET name: get description: Pure Storage Get a List of Clients That Hold Active File Locks call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/locks/nlm-reclamations name: api-2-26-file-systems-locks-nlm-reclamations description: REST surface for api-2.26-file-systems-locks-nlm-reclamations. operations: - method: POST name: post description: Pure Storage Initiate NLM Reclamation. call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/open-files name: api-2-26-file-systems-open-files description: REST surface for api-2.26-file-systems-open-files. operations: - method: GET name: get description: Pure Storage GET File-systems/open-files call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage DELETE File-systems/open-files call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/performance name: api-2-26-file-systems-performance description: REST surface for api-2.26-file-systems-performance. operations: - method: GET name: get description: Pure Storage GET File-systems/performance call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/policies name: api-2-26-file-systems-policies description: REST surface for api-2.26-file-systems-policies. operations: - method: GET name: get description: Pure Storage GET File-systems/policies call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage POST File-systems/policies call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage DELETE File-systems/policies call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/policies-all name: api-2-26-file-systems-policies-all description: REST surface for api-2.26-file-systems-policies-all. operations: - method: GET name: get description: Pure Storage GET File-systems/policies-all call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/sessions name: api-2-26-file-systems-sessions description: REST surface for api-2.26-file-systems-sessions. operations: - method: GET name: get description: Pure Storage Get a List of Active Sessions call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete Sessions call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/space/storage-classes name: api-2-26-file-systems-space-storage-classes description: REST surface for api-2.26-file-systems-space-storage-classes. operations: - method: GET name: get description: Pure Storage GET File-systems/space/storage-classes call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/user-group-quota-policies name: api-2-26-file-systems-user-group-quota-policies description: REST surface for api-2.26-file-systems-user-group-quota-policies. operations: - method: GET name: get description: Pure Storage GET File-systems/user-group-quota-policies call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage POST File-systems/user-group-quota-policies call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage DELETE File-systems/user-group-quota-policies call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/users name: api-2-26-file-systems-users description: REST surface for api-2.26-file-systems-users. operations: - method: GET name: get description: Pure Storage GET File-systems/users call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/users/performance name: api-2-26-file-systems-users-performance description: REST surface for api-2.26-file-systems-users-performance. operations: - method: GET name: get description: Pure Storage GET File-systems/users/performance call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - path: /v1/api/2-26/file-systems/worm-data-policies name: api-2-26-file-systems-worm-data-policies description: REST surface for api-2.26-file-systems-worm-data-policies. operations: - method: GET name: get description: Pure Storage GET File-systems/worm-data-policies call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - type: mcp namespace: flashblade-rest-file-systems-mcp port: 9090 transport: http description: MCP adapter for FlashBlade REST API — File Systems. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pure-storage-get-file-systems description: Pure Storage GET File-systems hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-post-file-systems description: Pure Storage POST File-systems hints: readOnly: false destructive: false idempotent: false call: flashblade-rest-file-systems.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-file-systems description: Pure Storage DELETE File-systems hints: readOnly: false destructive: true idempotent: true call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - name: pure-storage-patch-file-systems description: Pure Storage PATCH File-systems hints: readOnly: false destructive: false idempotent: true call: flashblade-rest-file-systems.patch with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-2 description: Pure Storage GET File-systems/audit-policies hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-post-file-systems-2 description: Pure Storage POST File-systems/audit-policies hints: readOnly: false destructive: false idempotent: false call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - name: pure-storage-delete-file-systems-2 description: Pure Storage DELETE File-systems/audit-policies hints: readOnly: false destructive: true idempotent: true call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-3 description: Pure Storage GET File-systems/data-eviction-policies hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-post-file-systems-3 description: Pure Storage POST File-systems/data-eviction-policies hints: readOnly: false destructive: false idempotent: false call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - name: pure-storage-delete-file-systems-3 description: Pure Storage DELETE File-systems/data-eviction-policies hints: readOnly: false destructive: true idempotent: true call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-4 description: Pure Storage GET File-systems/groups hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-5 description: Pure Storage GET File-systems/groups/performance hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-get-list-active description: Pure Storage Get a List of Active File Locks hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-invalidate-file-locks description: Pure Storage Invalidate File Locks hints: readOnly: false destructive: true idempotent: true call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - name: pure-storage-get-list-clients description: Pure Storage Get a List of Clients That Hold Active File Locks hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-initiate-nlm-reclamation description: Pure Storage Initiate NLM Reclamation. hints: readOnly: false destructive: false idempotent: false call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-6 description: Pure Storage GET File-systems/open-files hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-delete-file-systems-4 description: Pure Storage DELETE File-systems/open-files hints: readOnly: false destructive: true idempotent: true call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-7 description: Pure Storage GET File-systems/performance hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-8 description: Pure Storage GET File-systems/policies hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-post-file-systems-4 description: Pure Storage POST File-systems/policies hints: readOnly: false destructive: false idempotent: false call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - name: pure-storage-delete-file-systems-5 description: Pure Storage DELETE File-systems/policies hints: readOnly: false destructive: true idempotent: true call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-9 description: Pure Storage GET File-systems/policies-all hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-get-list-active-2 description: Pure Storage Get a List of Active Sessions hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-delete-sessions description: Pure Storage Delete Sessions hints: readOnly: false destructive: true idempotent: true call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-10 description: Pure Storage GET File-systems/space/storage-classes hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-11 description: Pure Storage GET File-systems/user-group-quota-policies hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-post-file-systems-5 description: Pure Storage POST File-systems/user-group-quota-policies hints: readOnly: false destructive: false idempotent: false call: flashblade-rest-file-systems.post outputParameters: - type: object mapping: $. - name: pure-storage-delete-file-systems-6 description: Pure Storage DELETE File-systems/user-group-quota-policies hints: readOnly: false destructive: true idempotent: true call: flashblade-rest-file-systems.delete outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-12 description: Pure Storage GET File-systems/users hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-13 description: Pure Storage GET File-systems/users/performance hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $. - name: pure-storage-get-file-systems-14 description: Pure Storage GET File-systems/worm-data-policies hints: readOnly: true destructive: false idempotent: true call: flashblade-rest-file-systems.get outputParameters: - type: object mapping: $.