Portworx · Capability

OpenStorage SDK — OpenStorageCloudBackup

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.

Run with Naftiko PortworxOpenStorageCloudBackup

What You Can Do

POST
Openstoragecloudbackupcreate — Creates a backup request for a specified volume. Use
/v1/v1/cloudbackups
DELETE
Openstoragecloudbackupdelete — Deletes a backup stored in the cloud. If the backup is an incremental
/v1/v1/cloudbackups/backup/{backup-id}
POST
Openstoragecloudbackupcatalog — Catalog returns a list of the contents in the backup
/v1/v1/cloudbackups/catalog
POST
Openstoragecloudbackupdeleteall — DeleteAll deletes all the backups in the cloud for the specified volume.
/v1/v1/cloudbackups/deleteall
POST
Openstoragecloudbackupenumeratewithfilters — Return a list of backups for the specified volume
/v1/v1/cloudbackups/enumerate/filters
POST
Openstoragecloudbackupgroupcreate — Creates a group backup request for a specified group. Use
/v1/v1/cloudbackups/group
GET
Openstoragecloudbackuphistory — History returns a list of backups for a specified volume
/v1/v1/cloudbackups/history/{src-volume-id}
POST
Openstoragecloudbackuprestore — Restore creates a new volume from a backup id. The newly created volume
/v1/v1/cloudbackups/restore
GET
Openstoragecloudbackupschedenumerate — Enumerate cloud backup schedules
/v1/v1/cloudbackups/schedules
POST
Openstoragecloudbackupschedcreate — Create cloud backup schedule
/v1/v1/cloudbackups/schedules
PUT
Openstoragecloudbackupschedupdate — Update existing cloud backup schedule
/v1/v1/cloudbackups/schedules
DELETE
Openstoragecloudbackupscheddelete — Delete cloud backup schedule
/v1/v1/cloudbackups/schedules/{backup-schedule-id}
GET
Openstoragecloudbackupsize — Size returns the size of any cloud backups of a volume
/v1/v1/cloudbackups/size
POST
Openstoragecloudbackupstatechange — StateChange can be used to stop, pause, and restart a backup
/v1/v1/cloudbackups/statechange
POST
Openstoragecloudbackupstatus — Status returns the status of any cloud backups of a volume
/v1/v1/cloudbackups/status

MCP Tools

creates-backup-request-specified-volume

Creates a backup request for a specified volume. Use

deletes-backup-stored-cloud-if

Deletes a backup stored in the cloud. If the backup is an incremental

idempotent
catalog-returns-list-contents-backup

Catalog returns a list of the contents in the backup

read-only
deleteall-deletes-all-backups-cloud

DeleteAll deletes all the backups in the cloud for the specified volume.

return-list-backups-specified-volume

Return a list of backups for the specified volume

read-only
creates-group-backup-request-specified

Creates a group backup request for a specified group. Use

history-returns-list-backups-specified

History returns a list of backups for a specified volume

read-only idempotent
restore-creates-new-volume-backup

Restore creates a new volume from a backup id. The newly created volume

enumerate-cloud-backup-schedules

Enumerate cloud backup schedules

read-only idempotent
create-cloud-backup-schedule

Create cloud backup schedule

update-existing-cloud-backup-schedule

Update existing cloud backup schedule

idempotent
delete-cloud-backup-schedule

Delete cloud backup schedule

idempotent
size-returns-size-any-cloud

Size returns the size of any cloud backups of a volume

read-only idempotent
statechange-can-be-used-stop

StateChange can be used to stop, pause, and restart a backup

status-returns-status-any-cloud

Status returns the status of any cloud backups of a volume

Capability Spec

portworx-openstoragecloudbackup.yaml Raw ↑
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: $.