naftiko: 1.0.0-alpha2 info: label: OpenStorage SDK — OpenStoragePool description: 'OpenStorage SDK — OpenStoragePool. 8 operations. Lead operation: Rebalance creates a new rebalance task. Self-contained Naftiko capability covering one Portworx business surface.' tags: - Portworx - OpenStoragePool created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORTWORX_API_KEY: PORTWORX_API_KEY capability: consumes: - type: http namespace: portworx-openstoragepool baseUri: '' description: OpenStorage SDK — OpenStoragePool business capability. Self-contained, no shared references. resources: - name: v1-storagepools-rebalance path: /v1/storagepools/rebalance operations: - name: openstoragepoolrebalance method: PUT description: Rebalance creates a new rebalance task outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-storagepools-rebalance-job path: /v1/storagepools/rebalance/job operations: - name: openstoragepoolenumeraterebalancejobs method: GET description: EnumerateRebalanceJobs returns all rebalance jobs currently known to the system outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-storagepools-rebalance-job-id path: /v1/storagepools/rebalance/job/{id} operations: - name: openstoragepoolgetrebalancejobstatus method: GET description: GetRebalanceJobStatus returns rebalance status for specified job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: ID of the rebalance job required: true - name: openstoragepoolupdaterebalancejobstate method: PUT description: UpdateRebalanceJobState updates existing rebalance task state. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: ID of the rebalance job required: true - name: v1-storagepools-rebalance-schedule path: /v1/storagepools/rebalance/schedule operations: - name: openstoragepooldeleterebalanceschedule method: DELETE description: DeleteRebalanceSchedule deletes the rebalance schedule outputRawFormat: json outputParameters: - name: result type: object value: $. - name: openstoragepoolgetrebalanceschedule method: GET description: GetRebalanceSchedule returns the information of rebalance schedule outputRawFormat: json outputParameters: - name: result type: object value: $. - name: openstoragepoolcreaterebalanceschedule method: POST description: CreateRebalanceSchedule creates a scheudle for the input rebalance requests outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-storagepools-resize-uuid path: /v1/storagepools/resize/{uuid} operations: - name: openstoragepoolresize method: PUT description: Resize expands the specified storage pool based on the request parameters outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uuid in: path type: string description: UUID of the storage pool to inspect required: true authentication: type: bearer token: '{{env.PORTWORX_API_KEY}}' exposes: - type: rest namespace: portworx-openstoragepool-rest port: 8080 description: REST adapter for OpenStorage SDK — OpenStoragePool. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/storagepools/rebalance name: v1-storagepools-rebalance description: REST surface for v1-storagepools-rebalance. operations: - method: PUT name: openstoragepoolrebalance description: Rebalance creates a new rebalance task call: portworx-openstoragepool.openstoragepoolrebalance outputParameters: - type: object mapping: $. - path: /v1/v1/storagepools/rebalance/job name: v1-storagepools-rebalance-job description: REST surface for v1-storagepools-rebalance-job. operations: - method: GET name: openstoragepoolenumeraterebalancejobs description: EnumerateRebalanceJobs returns all rebalance jobs currently known to the system call: portworx-openstoragepool.openstoragepoolenumeraterebalancejobs outputParameters: - type: object mapping: $. - path: /v1/v1/storagepools/rebalance/job/{id} name: v1-storagepools-rebalance-job-id description: REST surface for v1-storagepools-rebalance-job-id. operations: - method: GET name: openstoragepoolgetrebalancejobstatus description: GetRebalanceJobStatus returns rebalance status for specified job call: portworx-openstoragepool.openstoragepoolgetrebalancejobstatus with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: openstoragepoolupdaterebalancejobstate description: UpdateRebalanceJobState updates existing rebalance task state. call: portworx-openstoragepool.openstoragepoolupdaterebalancejobstate with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/v1/storagepools/rebalance/schedule name: v1-storagepools-rebalance-schedule description: REST surface for v1-storagepools-rebalance-schedule. operations: - method: DELETE name: openstoragepooldeleterebalanceschedule description: DeleteRebalanceSchedule deletes the rebalance schedule call: portworx-openstoragepool.openstoragepooldeleterebalanceschedule outputParameters: - type: object mapping: $. - method: GET name: openstoragepoolgetrebalanceschedule description: GetRebalanceSchedule returns the information of rebalance schedule call: portworx-openstoragepool.openstoragepoolgetrebalanceschedule outputParameters: - type: object mapping: $. - method: POST name: openstoragepoolcreaterebalanceschedule description: CreateRebalanceSchedule creates a scheudle for the input rebalance requests call: portworx-openstoragepool.openstoragepoolcreaterebalanceschedule outputParameters: - type: object mapping: $. - path: /v1/v1/storagepools/resize/{uuid} name: v1-storagepools-resize-uuid description: REST surface for v1-storagepools-resize-uuid. operations: - method: PUT name: openstoragepoolresize description: Resize expands the specified storage pool based on the request parameters call: portworx-openstoragepool.openstoragepoolresize with: uuid: rest.uuid outputParameters: - type: object mapping: $. - type: mcp namespace: portworx-openstoragepool-mcp port: 9090 transport: http description: MCP adapter for OpenStorage SDK — OpenStoragePool. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: rebalance-creates-new-rebalance-task description: Rebalance creates a new rebalance task hints: readOnly: false destructive: false idempotent: true call: portworx-openstoragepool.openstoragepoolrebalance outputParameters: - type: object mapping: $. - name: enumeraterebalancejobs-returns-all-rebalance-jobs description: EnumerateRebalanceJobs returns all rebalance jobs currently known to the system hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragepool.openstoragepoolenumeraterebalancejobs outputParameters: - type: object mapping: $. - name: getrebalancejobstatus-returns-rebalance-status-specified description: GetRebalanceJobStatus returns rebalance status for specified job hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragepool.openstoragepoolgetrebalancejobstatus with: id: tools.id outputParameters: - type: object mapping: $. - name: updaterebalancejobstate-updates-existing-rebalance-task description: UpdateRebalanceJobState updates existing rebalance task state. hints: readOnly: false destructive: false idempotent: true call: portworx-openstoragepool.openstoragepoolupdaterebalancejobstate with: id: tools.id outputParameters: - type: object mapping: $. - name: deleterebalanceschedule-deletes-rebalance-schedule description: DeleteRebalanceSchedule deletes the rebalance schedule hints: readOnly: false destructive: true idempotent: true call: portworx-openstoragepool.openstoragepooldeleterebalanceschedule outputParameters: - type: object mapping: $. - name: getrebalanceschedule-returns-information-rebalance-schedule description: GetRebalanceSchedule returns the information of rebalance schedule hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragepool.openstoragepoolgetrebalanceschedule outputParameters: - type: object mapping: $. - name: createrebalanceschedule-creates-scheudle-input-rebalance description: CreateRebalanceSchedule creates a scheudle for the input rebalance requests hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragepool.openstoragepoolcreaterebalanceschedule outputParameters: - type: object mapping: $. - name: resize-expands-specified-storage-pool description: Resize expands the specified storage pool based on the request parameters hints: readOnly: false destructive: false idempotent: true call: portworx-openstoragepool.openstoragepoolresize with: uuid: tools.uuid outputParameters: - type: object mapping: $.