naftiko: 1.0.0-alpha2 info: label: FlashArray REST API — Directories description: 'FlashArray REST API — Directories. 31 operations. Lead operation: Pure Storage List Directories. Self-contained Naftiko capability covering one Pure Storage business surface.' tags: - Pure Storage - Directories 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: flasharray-rest-directories baseUri: '' description: FlashArray REST API — Directories business capability. Self-contained, no shared references. resources: - name: api-2.52-directories path: /api/2.52/directories operations: - name: get method: GET description: Pure Storage List Directories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage Create or Copy Directory 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 Managed Directories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patch method: PATCH description: Pure Storage Modify a Managed Directory outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-2.52-directories-groups path: /api/2.52/directories/groups operations: - name: get method: GET description: Pure Storage List Group with Content in Directories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-locks-nlm-reclamations path: /api/2.52/directories/locks/nlm-reclamations operations: - name: post method: POST description: Pure Storage Create NLM Reclamation outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-performance path: /api/2.52/directories/performance operations: - name: get method: GET description: Pure Storage List Directory Performance Data outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-policies path: /api/2.52/directories/policies operations: - name: get method: GET description: Pure Storage List Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-policies-audit-file path: /api/2.52/directories/policies/audit-file operations: - name: get method: GET description: Pure Storage List Audit Policies Attached to a Directory outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage Create a Membership Between a Directory and One or More Audit Policies 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 a Membership Between a Directory and One or More Audit Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-policies-autodir path: /api/2.52/directories/policies/autodir operations: - name: get method: GET description: Pure Storage List Auto Managed Directory Policies Attached to a Directory outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage Create a Membership Between a Directory with One or More Auto Managed Directory Policies 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 a Membership Between a Directory and One or More Auto Managed Directory Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-policies-nfs path: /api/2.52/directories/policies/nfs operations: - name: get method: GET description: Pure Storage List NFS Policies Attached to a Directory outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage Create a Membership Between a Directory and One or More NFS Policies 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 a Membership Between a Directory and One or More NFS Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-policies-quota path: /api/2.52/directories/policies/quota operations: - name: get method: GET description: Pure Storage List Quota Policies Attached to a Directory outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage Create a Membership Between a Directory and One or More Quota Policies 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 a Membership Between a Directory and One or More Quota Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-policies-smb path: /api/2.52/directories/policies/smb operations: - name: get method: GET description: Pure Storage List SMB Policies Attached to a Directory outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage Create a Membership Between a Directory and One or More SMB Policies 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 a Membership Between a Directory and One or More SMB Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-policies-snapshot path: /api/2.52/directories/policies/snapshot operations: - name: get method: GET description: Pure Storage List Snapshot Policies Attached to a Directory outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage Create a Membership Between a Directory with One or More Snapshot Policies 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 a Membership Between a Directory and One or More Snapshot Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-policies-user-group-quota path: /api/2.52/directories/policies/user-group-quota operations: - name: get method: GET description: Pure Storage List User-group-quota Policies Attached to a Directory outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Pure Storage Create a Membership Between a Directory and One or More User-group-quota Policies 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 a Membership Between a Directory and One or More User-group-quota Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-space path: /api/2.52/directories/space operations: - name: get method: GET description: Pure Storage List Directory Space Information outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-2.52-directories-users path: /api/2.52/directories/users operations: - name: get method: GET description: Pure Storage List Users with Content in Directories outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: flasharray-rest-directories-rest port: 8080 description: REST adapter for FlashArray REST API — Directories. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/2-52/directories name: api-2-52-directories description: REST surface for api-2.52-directories. operations: - method: GET name: get description: Pure Storage List Directories call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage Create or Copy Directory call: flasharray-rest-directories.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete Managed Directories call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - method: PATCH name: patch description: Pure Storage Modify a Managed Directory call: flasharray-rest-directories.patch with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/groups name: api-2-52-directories-groups description: REST surface for api-2.52-directories-groups. operations: - method: GET name: get description: Pure Storage List Group with Content in Directories call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/locks/nlm-reclamations name: api-2-52-directories-locks-nlm-reclamations description: REST surface for api-2.52-directories-locks-nlm-reclamations. operations: - method: POST name: post description: Pure Storage Create NLM Reclamation call: flasharray-rest-directories.post outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/performance name: api-2-52-directories-performance description: REST surface for api-2.52-directories-performance. operations: - method: GET name: get description: Pure Storage List Directory Performance Data call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/policies name: api-2-52-directories-policies description: REST surface for api-2.52-directories-policies. operations: - method: GET name: get description: Pure Storage List Policies call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/policies/audit-file name: api-2-52-directories-policies-audit-file description: REST surface for api-2.52-directories-policies-audit-file. operations: - method: GET name: get description: Pure Storage List Audit Policies Attached to a Directory call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage Create a Membership Between a Directory and One or More Audit Policies call: flasharray-rest-directories.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete a Membership Between a Directory and One or More Audit Policies call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/policies/autodir name: api-2-52-directories-policies-autodir description: REST surface for api-2.52-directories-policies-autodir. operations: - method: GET name: get description: Pure Storage List Auto Managed Directory Policies Attached to a Directory call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage Create a Membership Between a Directory with One or More Auto Managed Directory Policies call: flasharray-rest-directories.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete a Membership Between a Directory and One or More Auto Managed Directory Policies call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/policies/nfs name: api-2-52-directories-policies-nfs description: REST surface for api-2.52-directories-policies-nfs. operations: - method: GET name: get description: Pure Storage List NFS Policies Attached to a Directory call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage Create a Membership Between a Directory and One or More NFS Policies call: flasharray-rest-directories.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete a Membership Between a Directory and One or More NFS Policies call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/policies/quota name: api-2-52-directories-policies-quota description: REST surface for api-2.52-directories-policies-quota. operations: - method: GET name: get description: Pure Storage List Quota Policies Attached to a Directory call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage Create a Membership Between a Directory and One or More Quota Policies call: flasharray-rest-directories.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete a Membership Between a Directory and One or More Quota Policies call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/policies/smb name: api-2-52-directories-policies-smb description: REST surface for api-2.52-directories-policies-smb. operations: - method: GET name: get description: Pure Storage List SMB Policies Attached to a Directory call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage Create a Membership Between a Directory and One or More SMB Policies call: flasharray-rest-directories.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete a Membership Between a Directory and One or More SMB Policies call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/policies/snapshot name: api-2-52-directories-policies-snapshot description: REST surface for api-2.52-directories-policies-snapshot. operations: - method: GET name: get description: Pure Storage List Snapshot Policies Attached to a Directory call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage Create a Membership Between a Directory with One or More Snapshot Policies call: flasharray-rest-directories.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete a Membership Between a Directory and One or More Snapshot Policies call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/policies/user-group-quota name: api-2-52-directories-policies-user-group-quota description: REST surface for api-2.52-directories-policies-user-group-quota. operations: - method: GET name: get description: Pure Storage List User-group-quota Policies Attached to a Directory call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - method: POST name: post description: Pure Storage Create a Membership Between a Directory and One or More User-group-quota Policies call: flasharray-rest-directories.post with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Pure Storage Delete a Membership Between a Directory and One or More User-group-quota Policies call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/space name: api-2-52-directories-space description: REST surface for api-2.52-directories-space. operations: - method: GET name: get description: Pure Storage List Directory Space Information call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - path: /v1/api/2-52/directories/users name: api-2-52-directories-users description: REST surface for api-2.52-directories-users. operations: - method: GET name: get description: Pure Storage List Users with Content in Directories call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - type: mcp namespace: flasharray-rest-directories-mcp port: 9090 transport: http description: MCP adapter for FlashArray REST API — Directories. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pure-storage-list-directories description: Pure Storage List Directories hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-copy-directory description: Pure Storage Create or Copy Directory hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-managed-directories description: Pure Storage Delete Managed Directories hints: readOnly: false destructive: true idempotent: true call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - name: pure-storage-modify-managed-directory description: Pure Storage Modify a Managed Directory hints: readOnly: false destructive: false idempotent: true call: flasharray-rest-directories.patch with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-list-group-content description: Pure Storage List Group with Content in Directories hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-nlm-reclamation description: Pure Storage Create NLM Reclamation hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post outputParameters: - type: object mapping: $. - name: pure-storage-list-directory-performance description: Pure Storage List Directory Performance Data hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-list-policies description: Pure Storage List Policies hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-list-audit-policies description: Pure Storage List Audit Policies Attached to a Directory hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-membership-between description: Pure Storage Create a Membership Between a Directory and One or More Audit Policies hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-membership-between description: Pure Storage Delete a Membership Between a Directory and One or More Audit Policies hints: readOnly: false destructive: true idempotent: true call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - name: pure-storage-list-auto-managed description: Pure Storage List Auto Managed Directory Policies Attached to a Directory hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-membership-between-2 description: Pure Storage Create a Membership Between a Directory with One or More Auto Managed Directory Policies hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-membership-between-2 description: Pure Storage Delete a Membership Between a Directory and One or More Auto Managed Directory Policies hints: readOnly: false destructive: true idempotent: true call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - name: pure-storage-list-nfs-policies description: Pure Storage List NFS Policies Attached to a Directory hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-membership-between-3 description: Pure Storage Create a Membership Between a Directory and One or More NFS Policies hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-membership-between-3 description: Pure Storage Delete a Membership Between a Directory and One or More NFS Policies hints: readOnly: false destructive: true idempotent: true call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - name: pure-storage-list-quota-policies description: Pure Storage List Quota Policies Attached to a Directory hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-membership-between-4 description: Pure Storage Create a Membership Between a Directory and One or More Quota Policies hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-membership-between-4 description: Pure Storage Delete a Membership Between a Directory and One or More Quota Policies hints: readOnly: false destructive: true idempotent: true call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - name: pure-storage-list-smb-policies description: Pure Storage List SMB Policies Attached to a Directory hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-membership-between-5 description: Pure Storage Create a Membership Between a Directory and One or More SMB Policies hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-membership-between-5 description: Pure Storage Delete a Membership Between a Directory and One or More SMB Policies hints: readOnly: false destructive: true idempotent: true call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - name: pure-storage-list-snapshot-policies description: Pure Storage List Snapshot Policies Attached to a Directory hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-membership-between-6 description: Pure Storage Create a Membership Between a Directory with One or More Snapshot Policies hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-membership-between-6 description: Pure Storage Delete a Membership Between a Directory and One or More Snapshot Policies hints: readOnly: false destructive: true idempotent: true call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - name: pure-storage-list-user-group description: Pure Storage List User-group-quota Policies Attached to a Directory hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-create-membership-between-7 description: Pure Storage Create a Membership Between a Directory and One or More User-group-quota Policies hints: readOnly: false destructive: false idempotent: false call: flasharray-rest-directories.post with: body: tools.body outputParameters: - type: object mapping: $. - name: pure-storage-delete-membership-between-7 description: Pure Storage Delete a Membership Between a Directory and One or More User-group-quota Policies hints: readOnly: false destructive: true idempotent: true call: flasharray-rest-directories.delete outputParameters: - type: object mapping: $. - name: pure-storage-list-directory-space description: Pure Storage List Directory Space Information hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $. - name: pure-storage-list-users-content description: Pure Storage List Users with Content in Directories hints: readOnly: true destructive: false idempotent: true call: flasharray-rest-directories.get outputParameters: - type: object mapping: $.