naftiko: 1.0.0-alpha2 info: label: OpenStorage SDK — OpenStorageCloudBackup description: 'OpenStorage SDK — OpenStorageCloudBackup. 15 operations. Lead operation: Creates a backup request for a specified volume. Use OpenStorageCloudBackup.Status() to get the current status of the backup request.. Self-contained Naftiko capability covering one Portworx business surface.' tags: - Portworx - OpenStorageCloudBackup created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORTWORX_API_KEY: PORTWORX_API_KEY capability: consumes: - type: http namespace: portworx-openstoragecloudbackup baseUri: '' description: OpenStorage SDK — OpenStorageCloudBackup business capability. Self-contained, no shared references. resources: - name: v1-cloudbackups path: /v1/cloudbackups operations: - name: openstoragecloudbackupcreate method: POST description: Creates a backup request for a specified volume. Use outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cloudbackups-backup-backup_id path: /v1/cloudbackups/backup/{backup_id} operations: - name: openstoragecloudbackupdelete method: DELETE description: Deletes a backup stored in the cloud. If the backup is an incremental outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: backup_id in: path type: string description: ID is the ID of the cloud backup required: true - name: credential_id in: query type: string description: Credential id is the credential for cloud to be used for the request. - name: force in: query type: boolean description: Force Delete cloudbackup even if there are dependencies. This may be - name: bucket in: query type: string description: Bucket name to which cloud backup belongs to. - name: v1-cloudbackups-catalog path: /v1/cloudbackups/catalog operations: - name: openstoragecloudbackupcatalog method: POST description: Catalog returns a list of the contents in the backup outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cloudbackups-deleteall path: /v1/cloudbackups/deleteall operations: - name: openstoragecloudbackupdeleteall method: POST description: DeleteAll deletes all the backups in the cloud for the specified volume. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cloudbackups-enumerate-filters path: /v1/cloudbackups/enumerate/filters operations: - name: openstoragecloudbackupenumeratewithfilters method: POST description: Return a list of backups for the specified volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cloudbackups-group path: /v1/cloudbackups/group operations: - name: openstoragecloudbackupgroupcreate method: POST description: Creates a group backup request for a specified group. Use outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cloudbackups-history-src_volume_id path: /v1/cloudbackups/history/{src_volume_id} operations: - name: openstoragecloudbackuphistory method: GET description: History returns a list of backups for a specified volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: src_volume_id in: path type: string description: This optional value defines which history of backups is being required: true - name: v1-cloudbackups-restore path: /v1/cloudbackups/restore operations: - name: openstoragecloudbackuprestore method: POST description: Restore creates a new volume from a backup id. The newly created volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cloudbackups-schedules path: /v1/cloudbackups/schedules operations: - name: openstoragecloudbackupschedenumerate method: GET description: Enumerate cloud backup schedules outputRawFormat: json outputParameters: - name: result type: object value: $. - name: openstoragecloudbackupschedcreate method: POST description: Create cloud backup schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: openstoragecloudbackupschedupdate method: PUT description: Update existing cloud backup schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cloudbackups-schedules-backup_schedule_id path: /v1/cloudbackups/schedules/{backup_schedule_id} operations: - name: openstoragecloudbackupscheddelete method: DELETE description: Delete cloud backup schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: backup_schedule_id in: path type: string description: Id of cloud backup to delete required: true - name: v1-cloudbackups-size path: /v1/cloudbackups/size operations: - name: openstoragecloudbackupsize method: GET description: Size returns the size of any cloud backups of a volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: backup_id in: query type: string description: BackupId is a value which is used to get information on the - name: credential_id in: query type: string description: Credential id describe the credentials for the cloud. - name: v1-cloudbackups-statechange path: /v1/cloudbackups/statechange operations: - name: openstoragecloudbackupstatechange method: POST description: StateChange can be used to stop, pause, and restart a backup outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cloudbackups-status path: /v1/cloudbackups/status operations: - name: openstoragecloudbackupstatus method: POST description: Status returns the status of any cloud backups of a volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.PORTWORX_API_KEY}}' exposes: - type: rest namespace: portworx-openstoragecloudbackup-rest port: 8080 description: REST adapter for OpenStorage SDK — OpenStorageCloudBackup. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/cloudbackups name: v1-cloudbackups description: REST surface for v1-cloudbackups. operations: - method: POST name: openstoragecloudbackupcreate description: Creates a backup request for a specified volume. Use call: portworx-openstoragecloudbackup.openstoragecloudbackupcreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/backup/{backup-id} name: v1-cloudbackups-backup-backup-id description: REST surface for v1-cloudbackups-backup-backup_id. operations: - method: DELETE name: openstoragecloudbackupdelete description: Deletes a backup stored in the cloud. If the backup is an incremental call: portworx-openstoragecloudbackup.openstoragecloudbackupdelete with: backup_id: rest.backup_id credential_id: rest.credential_id force: rest.force bucket: rest.bucket outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/catalog name: v1-cloudbackups-catalog description: REST surface for v1-cloudbackups-catalog. operations: - method: POST name: openstoragecloudbackupcatalog description: Catalog returns a list of the contents in the backup call: portworx-openstoragecloudbackup.openstoragecloudbackupcatalog with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/deleteall name: v1-cloudbackups-deleteall description: REST surface for v1-cloudbackups-deleteall. operations: - method: POST name: openstoragecloudbackupdeleteall description: DeleteAll deletes all the backups in the cloud for the specified volume. call: portworx-openstoragecloudbackup.openstoragecloudbackupdeleteall with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/enumerate/filters name: v1-cloudbackups-enumerate-filters description: REST surface for v1-cloudbackups-enumerate-filters. operations: - method: POST name: openstoragecloudbackupenumeratewithfilters description: Return a list of backups for the specified volume call: portworx-openstoragecloudbackup.openstoragecloudbackupenumeratewithfilters with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/group name: v1-cloudbackups-group description: REST surface for v1-cloudbackups-group. operations: - method: POST name: openstoragecloudbackupgroupcreate description: Creates a group backup request for a specified group. Use call: portworx-openstoragecloudbackup.openstoragecloudbackupgroupcreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/history/{src-volume-id} name: v1-cloudbackups-history-src-volume-id description: REST surface for v1-cloudbackups-history-src_volume_id. operations: - method: GET name: openstoragecloudbackuphistory description: History returns a list of backups for a specified volume call: portworx-openstoragecloudbackup.openstoragecloudbackuphistory with: src_volume_id: rest.src_volume_id outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/restore name: v1-cloudbackups-restore description: REST surface for v1-cloudbackups-restore. operations: - method: POST name: openstoragecloudbackuprestore description: Restore creates a new volume from a backup id. The newly created volume call: portworx-openstoragecloudbackup.openstoragecloudbackuprestore with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/schedules name: v1-cloudbackups-schedules description: REST surface for v1-cloudbackups-schedules. operations: - method: GET name: openstoragecloudbackupschedenumerate description: Enumerate cloud backup schedules call: portworx-openstoragecloudbackup.openstoragecloudbackupschedenumerate outputParameters: - type: object mapping: $. - method: POST name: openstoragecloudbackupschedcreate description: Create cloud backup schedule call: portworx-openstoragecloudbackup.openstoragecloudbackupschedcreate with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: openstoragecloudbackupschedupdate description: Update existing cloud backup schedule call: portworx-openstoragecloudbackup.openstoragecloudbackupschedupdate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/schedules/{backup-schedule-id} name: v1-cloudbackups-schedules-backup-schedule-id description: REST surface for v1-cloudbackups-schedules-backup_schedule_id. operations: - method: DELETE name: openstoragecloudbackupscheddelete description: Delete cloud backup schedule call: portworx-openstoragecloudbackup.openstoragecloudbackupscheddelete with: backup_schedule_id: rest.backup_schedule_id outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/size name: v1-cloudbackups-size description: REST surface for v1-cloudbackups-size. operations: - method: GET name: openstoragecloudbackupsize description: Size returns the size of any cloud backups of a volume call: portworx-openstoragecloudbackup.openstoragecloudbackupsize with: backup_id: rest.backup_id credential_id: rest.credential_id outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/statechange name: v1-cloudbackups-statechange description: REST surface for v1-cloudbackups-statechange. operations: - method: POST name: openstoragecloudbackupstatechange description: StateChange can be used to stop, pause, and restart a backup call: portworx-openstoragecloudbackup.openstoragecloudbackupstatechange with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cloudbackups/status name: v1-cloudbackups-status description: REST surface for v1-cloudbackups-status. operations: - method: POST name: openstoragecloudbackupstatus description: Status returns the status of any cloud backups of a volume call: portworx-openstoragecloudbackup.openstoragecloudbackupstatus with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: portworx-openstoragecloudbackup-mcp port: 9090 transport: http description: MCP adapter for OpenStorage SDK — OpenStorageCloudBackup. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: creates-backup-request-specified-volume description: Creates a backup request for a specified volume. Use hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackupcreate with: body: tools.body outputParameters: - type: object mapping: $. - name: deletes-backup-stored-cloud-if description: Deletes a backup stored in the cloud. If the backup is an incremental hints: readOnly: false destructive: true idempotent: true call: portworx-openstoragecloudbackup.openstoragecloudbackupdelete with: backup_id: tools.backup_id credential_id: tools.credential_id force: tools.force bucket: tools.bucket outputParameters: - type: object mapping: $. - name: catalog-returns-list-contents-backup description: Catalog returns a list of the contents in the backup hints: readOnly: true destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackupcatalog with: body: tools.body outputParameters: - type: object mapping: $. - name: deleteall-deletes-all-backups-cloud description: DeleteAll deletes all the backups in the cloud for the specified volume. hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackupdeleteall with: body: tools.body outputParameters: - type: object mapping: $. - name: return-list-backups-specified-volume description: Return a list of backups for the specified volume hints: readOnly: true destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackupenumeratewithfilters with: body: tools.body outputParameters: - type: object mapping: $. - name: creates-group-backup-request-specified description: Creates a group backup request for a specified group. Use hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackupgroupcreate with: body: tools.body outputParameters: - type: object mapping: $. - name: history-returns-list-backups-specified description: History returns a list of backups for a specified volume hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragecloudbackup.openstoragecloudbackuphistory with: src_volume_id: tools.src_volume_id outputParameters: - type: object mapping: $. - name: restore-creates-new-volume-backup description: Restore creates a new volume from a backup id. The newly created volume hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackuprestore with: body: tools.body outputParameters: - type: object mapping: $. - name: enumerate-cloud-backup-schedules description: Enumerate cloud backup schedules hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragecloudbackup.openstoragecloudbackupschedenumerate outputParameters: - type: object mapping: $. - name: create-cloud-backup-schedule description: Create cloud backup schedule hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackupschedcreate with: body: tools.body outputParameters: - type: object mapping: $. - name: update-existing-cloud-backup-schedule description: Update existing cloud backup schedule hints: readOnly: false destructive: false idempotent: true call: portworx-openstoragecloudbackup.openstoragecloudbackupschedupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-cloud-backup-schedule description: Delete cloud backup schedule hints: readOnly: false destructive: true idempotent: true call: portworx-openstoragecloudbackup.openstoragecloudbackupscheddelete with: backup_schedule_id: tools.backup_schedule_id outputParameters: - type: object mapping: $. - name: size-returns-size-any-cloud description: Size returns the size of any cloud backups of a volume hints: readOnly: true destructive: false idempotent: true call: portworx-openstoragecloudbackup.openstoragecloudbackupsize with: backup_id: tools.backup_id credential_id: tools.credential_id outputParameters: - type: object mapping: $. - name: statechange-can-be-used-stop description: StateChange can be used to stop, pause, and restart a backup hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackupstatechange with: body: tools.body outputParameters: - type: object mapping: $. - name: status-returns-status-any-cloud description: Status returns the status of any cloud backups of a volume hints: readOnly: false destructive: false idempotent: false call: portworx-openstoragecloudbackup.openstoragecloudbackupstatus with: body: tools.body outputParameters: - type: object mapping: $.