Portworx website screenshot

Portworx

Portworx by Pure Storage is a Kubernetes data services platform that provides persistent storage, data protection, disaster recovery, and security for containerized applications running in production.

1 APIs 0 Features
Cloud NativeContainersData ManagementKubernetesStorage

APIs

Portworx

Portworx by Pure Storage is a Kubernetes data services platform that provides persistent storage, data protection, disaster recovery, and security for containerized applications...

Collections

Pricing Plans

Portworx Plans Pricing

3 plans

PLANS

Rate Limits

Portworx Rate Limits

5 limits

RATE LIMITS

FinOps

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
💰
Pricing
Pricing
📝
Signup
Signup
💬
Support
Support

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: OpenStorage SDK
  version: 0.186.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: OpenStorageAlerts
    type: folder
  items:
  - info:
      name: Delete alerts
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/alerts'
      body:
        type: json
        data: '{}'
    docs: '#### Delete

      Delete allows 3 different types of queries as defined below:


      * Query that takes only resource type as input

      * Query that takes resource type and alert type as input and

      * Query that takes resource id, alert type and resource type as input.


      #### Input

      SdkAlertsDeleteRequest takes a list of such queries and all alerts

      that match at least one of the queries are deleted.'
  - info:
      name: Allows querying alerts.
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/alerts/filters'
      body:
        type: json
        data: '{}'
    docs: 'EnumerateWithFilters allows 3 different types of queries as defined below:


      * Query that takes only resource type as input

      * Query that takes resource type and alert type as input and

      * Query that takes resource id, alert type and resource type as input.


      #### Input

      SdkAlertsEnumerateRequest takes a list of such queries and the returned

      output is a collective output from each of these queries. In that sense,

      the filtering of these queries has a behavior of OR operation.

      Each query also has a lis'
- info:
    name: OpenStorageBucket
    type: folder
  items:
  - info:
      name: OpenStorageBucket_Create
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/bucket'
      body:
        type: json
        data: '{}'
  - info:
      name: OpenStorageBucket_GrantAccess
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/bucket/access/:bucket_id'
      params:
      - name: bucket_id
        value: ''
        type: path
        description: Id of the bucket
      body:
        type: json
        data: '{}'
  - info:
      name: OpenStorageBucket_RevokeAccess
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/bucket/revoke/:bucket_id'
      params:
      - name: bucket_id
        value: ''
        type: path
        description: Id of bucket to delete
      body:
        type: json
        data: '{}'
  - info:
      name: OpenStorageBucket_Delete
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/bucket/:bucket_id'
      params:
      - name: bucket_id
        value: ''
        type: path
        description: Id of bucket to delete
      - name: region
        value: ''
        type: query
        description: Region in which bucket will be created.
      - name: endpoint
        value: ''
        type: query
        description: Endpoint to use when deleting the bucket.
      - name: clear_bucket
        value: ''
        type: query
        description: Flag to allow non empty bucket deletion.
- info:
    name: OpenStorageCloudBackup
    type: folder
  items:
  - info:
      name: 'Creates a backup request for a specified volume. Use

        OpenStorageCloudBackup.Status() to get the current status of the

        backup request.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups'
      body:
        type: json
        data: '{}'
    docs: Requires access AccessType.Read of volume
  - info:
      name: 'Deletes a backup stored in the cloud. If the backup is an incremental

        backup and other backups are dependent on it, it will not be able to be deleted.'
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/cloudbackups/backup/:backup_id'
      params:
      - name: backup_id
        value: ''
        type: path
        description: ID is the ID of the cloud backup
      - name: credential_id
        value: ''
        type: query
        description: Credential id is the credential for cloud to be used for the request.
      - name: force
        value: ''
        type: query
        description: 'Force Delete cloudbackup even if there are dependencies. This may be

          needed if the backup is an incremental backup and subsequent backups

          depend on this backup specified by `backup_id`.'
      - name: bucket
        value: ''
        type: query
        description: Bucket name to which cloud backup belongs to.
    docs: 'Deletes a backup stored in the cloud. If the backup is an incremental

      backup and other backups are dependent on it, it will not be able to be deleted.'
  - info:
      name: Catalog returns a list of the contents in the backup
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups/catalog'
      body:
        type: json
        data: '{}'
    docs: Catalog returns a list of the contents in the backup
  - info:
      name: DeleteAll deletes all the backups in the cloud for the specified volume.
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups/deleteall'
      body:
        type: json
        data: '{}'
    docs: DeleteAll deletes all the backups in the cloud for the specified volume.
  - info:
      name: Return a list of backups for the specified volume
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups/enumerate/filters'
      body:
        type: json
        data: '{}'
    docs: Return a list of backups for the specified volume
  - info:
      name: 'Creates a group backup request for a specified group. Use

        OpenStorageCloudBackup.Status() to get the current status of the

        backup request.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups/group'
      body:
        type: json
        data: '{}'
    docs: This will only backup volumes which the user has read_access to.
  - info:
      name: History returns a list of backups for a specified volume
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/cloudbackups/history/:src_volume_id'
      params:
      - name: src_volume_id
        value: ''
        type: path
        description: 'This optional value defines which history of backups is being

          requested. If not provided, it will return the history for all volumes.'
    docs: History returns a list of backups for a specified volume
  - info:
      name: 'Restore creates a new volume from a backup id. The newly created volume

        has an ha_level (number of replicas) of only 1. To increase the number of

        replicas, use OpenStorageVolume.Set() to change the ha_level.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups/restore'
      body:
        type: json
        data: '{}'
    docs: 'Restore creates a new volume from a backup id. The newly created volume

      has an ha_level (number of replicas) of only 1. To increase the number of

      replicas, use OpenStorageVolume.Set() to change the ha_level.'
  - info:
      name: Enumerate cloud backup schedules
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/cloudbackups/schedules'
    docs: Enumerate cloud backup schedules
  - info:
      name: Create cloud backup schedule
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups/schedules'
      body:
        type: json
        data: '{}'
    docs: Create cloud backup schedule
  - info:
      name: Update existing cloud backup schedule
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/v1/cloudbackups/schedules'
      body:
        type: json
        data: '{}'
    docs: Update existing cloud backup schedule
  - info:
      name: Delete cloud backup schedule
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/cloudbackups/schedules/:backup_schedule_id'
      params:
      - name: backup_schedule_id
        value: ''
        type: path
        description: Id of cloud backup to delete
    docs: Delete cloud backup schedule
  - info:
      name: Size returns the size of any cloud backups of a volume
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/cloudbackups/size'
      params:
      - name: backup_id
        value: ''
        type: query
        description: 'BackupId is a value which is used to get information on the

          size of the specified backup.'
      - name: credential_id
        value: ''
        type: query
        description: Credential id describe the credentials for the cloud.
    docs: Size returns the size of any cloud backups of a volume
  - info:
      name: StateChange can be used to stop, pause, and restart a backup
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups/statechange'
      body:
        type: json
        data: '{}'
    docs: StateChange can be used to stop, pause, and restart a backup
  - info:
      name: Status returns the status of any cloud backups of a volume
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/cloudbackups/status'
      body:
        type: json
        data: '{}'
    docs: Status returns the status of any cloud backups of a volume
- info:
    name: OpenStorageClusterDomains
    type: folder
  items:
  - info:
      name: Enumerate returns names of all the cluster domains in the cluster
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/clusterdomains'
    docs: Enumerate returns names of all the cluster domains in the cluster
  - info:
      name: 'Activates a cluster domain in the cluster.

        All the nodes which are part of an active cluster domain

        will participate in cluster quorum calculation'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/clusterdomains/activate/:cluster_domain_name'
      params:
      - name: cluster_domain_name
        value: ''
        type: path
        description: Name of the cluster domain to activate
    docs: 'Activates a cluster domain in the cluster.

      All the nodes which are part of an active cluster domain

      will participate in cluster quorum calculation'
  - info:
      name: 'Deactivates a cluster domain in the cluster.

        All the nodes which are part of a deactivated cluster domain.

        will not participate in cluster quorum calculation'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/clusterdomains/deactivate/:cluster_domain_name'
      params:
      - name: cluster_domain_name
        value: ''
        type: path
        description: Name of the cluster domain to deactivate
    docs: 'Deactivates a cluster domain in the cluster.

      All the nodes which are part of a deactivated cluster domain.

      will not participate in cluster quorum calculation'
  - info:
      name: 'Inspect returns information about a cluster domain and a

        status indicating whether the cluster domain is active'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/clusterdomains/inspect/:cluster_domain_name'
      params:
      - name: cluster_domain_name
        value: ''
        type: path
        description: Name of the cluster domain to inspect
    docs: 'Inspect returns information about a cluster domain and a

      status indicating whether the cluster domain is active'
- info:
    name: OpenStorageClusterPair
    type: folder
  items:
  - info:
      name: Enumerate returns list of cluster pairs
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/clusterpairs'
    docs: Enumerate returns list of cluster pairs
  - info:
      name: Creates Pair with a remote cluster and returns details about the remote cluster
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/clusterpairs'
      body:
        type: json
        data: '{}'
    docs: "##### Example\n{% codetabs name=\"Golang\", type=\"go\" -%}\nid, err := client.Create(context.Background(), &api.SdkClusterPairCreateRequest\
      \ {\n  Request : &api.ClusterPairCreateRequest {\n                 RemoteClusterIp: \"127.0.0.1\",\n               \
      \  RemoteClusterPort: 12345,\n                 RemoteClusterToken: \"<Auth-Token>\",\n                 SetDefault: true,\n\
      \             }\n       })\n{%- endcodetabs %}"
  - info:
      name: Inspect information about a cluster pair
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/clusterpairs/inspect/:id'
      params:
      - name: id
        value: ''
        type: path
        description: ID of the cluster, if empty gets the default pair
    docs: Inspect information about a cluster pair
  - info:
      name: GetToken returns a auth token
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/clusterpairs/token'
    docs: GetToken returns a auth token
  - info:
      name: ResetToken returns a auth token
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/clusterpairs/token'
      body:
        type: json
        data: '{}'
    docs: ResetToken returns a auth token
  - info:
      name: Delete a cluster pair
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/clusterpairs/:cluster_id'
      params:
      - name: cluster_id
        value: ''
        type: path
        description: ID of the cluster pair to be deleted
    docs: Delete a cluster pair
- info:
    name: OpenStorageCluster
    type: folder
  items:
  - info:
      name: InspectCurrent returns information about the current cluster
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/clusters/inspectcurrent'
    docs: InspectCurrent returns information about the current cluster
- info:
    name: OpenStorageCredentials
    type: folder
  items:
  - info:
      name: Enumerate returns a list of credential ids
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/credentials'
    docs: Enumerate returns a list of credential ids
  - info:
      name: 'Create is used to submit cloud credentials. It will return an

        id of the credentials once they are verified to work.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/credentials'
      body:
        type: json
        data: '{}'
    docs: "##### Example\n{% codetabs name=\"Golang\", type=\"go\" -%}\nid, err := client.Create(context.Background(), &api.SdkCredentialCreateRequest{\n\
      \    Name: \"awscred\",\n    UseProxy: false,\n    CredentialType: &api.SdkCredentialCreateRequest_AwsCredential{\n\
      \      AwsCredential: &api.SdkAwsCredentialRequest{\n      AccessKey: \"dummy-access\",\n      SecretKey: \"dummy-secret\"\
      ,\n      Endpoint:  \"dummy-endpoint\",\n      Region:    \"dummy-region\",\n    },\n  },\n})\n{%- language name=\"\
      Python\", type=\"py\" -%}\nen_resp = clie"
  - info:
      name: Inspect returns the information about a credential, but does not return the secret key.
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/credentials/inspect/:credential_id'
      params:
      - name: credential_id
        value: ''
        type: path
        description: Id of the credential
    docs: Inspect returns the information about a credential, but does not return the secret key.
  - info:
      name: DeleteReferences is used to remove references to credentials
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/credentials/references/:credential_id'
      params:
      - name: credential_id
        value: ''
        type: path
        description: Id of the credentials
    docs: DeleteReferences is used to remove references to credentials
  - info:
      name: Validate is used to validate credentials
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/credentials/validate/:credential_id'
      params:
      - name: credential_id
        value: ''
        type: path
        description: Id of the credentials
    docs: Validate is used to validate credentials
  - info:
      name: input is very same as credential create
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/v1/credentials/:credential_id'
      params:
      - name: credential_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: input is very same as credential create
  - info:
      name: Delete a specified credential
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/credentials/:credential_id'
      params:
      - name: credential_id
        value: ''
        type: path
        description: Id for credentials
    docs: Delete a specified credential
- info:
    name: OpenStorageDiags
    type: folder
  items:
  - info:
      name: 'Collect starts a job to collect diagnostics from set of nodes that are selected based on the selectors provided

        in the SdkDiagsCollectRequest. See SdkDiagsCollectRequest for more details on how to select the nodes

        Returns SdkDiagsCollectResponse which has the job that is responsible for collecting the diags.'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/diags'
      body:
        type: json
        data: '{}'
    docs: 'Collect starts a job to collect diagnostics from set of nodes that are selected based on the selectors provided

      in the SdkDiagsCollectRequest. See SdkDiagsCollectRequest for more details on how to select the nodes

      Returns SdkDiagsCollectResponse which has the job that is responsible for collecting the diags.'
- info:
    name: OpenStorageFilesystemCheck
    type: folder
  items:
  - info:
      name: Delete all fsck created snapshots on volume
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/filesystem-check/delete-snapshots'
      body:
        type: json
        data: '{}'
    docs: Delete all fsck created snapshots on volume
  - info:
      name: List all fsck created snapshots on volume
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/filesystem-check/list-snapshots'
      params:
      - name: volume_id
        value: ''
        type: query
        description: Id of the volume.
      - name: node_id
        value: ''
        type: query
        description: Node Id of the volume.
    docs: List all fsck created snapshots on volume
  - info:
      name: List of all volumes which require fsck check/fix to be run
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/filesystem-check/list-volumes'
      params:
      - name: node_id
        value: ''
        type: query
        description: Node Id filter.
    docs: List of all volumes which require fsck check/fix to be run
  - info:
      name: Start a filesystem-check background operation on a unmounted volume.
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/filesystem-check/start'
      body:
        type: json
        data: '{}'
    docs: Start a filesystem-check background operation on a unmounted volume.
  - info:
      name: 'Get Status of a filesystem-check background operation on an unmounted

        volume, if any'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/filesystem-check/status'
      params:
      - name: volume_id
        value: ''
        type: query
        description: Id of the volume.
    docs: 'Get Status of a filesystem-check background operation on an unmounted

      volume, if any'
  - info:
      name: Stop a filesystem check background operation on an unmounted volume, if any
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/filesystem-check/stop'
      body:
        type: json
        data: '{}'
    docs: Stop a filesystem check background operation on an unmounted volume, if any
- info:
    name: OpenStorageFilesystemDefrag
    type: folder
  items:
  - info:
      name: Create a schedule to run defragmentation tasks periodically
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/filesystem-defrag/schedule'
      body:
        type: json
        data: '{}'
    docs: Create a schedule to run defragmentation tasks periodically
  - info:
      name: Clean up all defrag schedules and stop all operations
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/v1/filesystem-defrag/schedules'
    docs: Clean up all defrag schedules and stop all operations
  - info:
      name: Enumerate all nodes, returning defrag status of the entire cluster
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/filesystem-defrag/status'
    docs: Enumerate all nodes, returning defrag status of the entire cluster
  - info:
      name: Get defrag status of a node
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/filesystem-defrag/status/:node_id'
      params:
      - name: node_id
        value: ''
        type: path
        description: NodeId is uuid of the node
    docs: Get defrag status of a node
- info:
    name: OpenStorageFilesystemTrim
    type: folder
  items:
  - info:
      name: Pop a auto filesystem Trim job from the queue
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/filesystem-trim/auto-fstrim-pop'
      body:
        type: json
        data: '{}'
    docs: Pop a auto filesystem Trim job from the queue
  - info:
      name: Push a auto filesystem Trim job into the queue
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/filesystem-trim/auto-fstrim-push'
      body:
        type: json
        data: '{}'
    docs: Push a auto filesystem Trim job into the queue
  - info:
      name: OpenStorageFilesystemTrim_AutoFSTrimStatus
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/filesystem-trim/auto-fstrim-status'
  - info:
      name: 'Usage of a filesystem Trim background operation on all locally mounted

        volume'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/filesystem-trim/auto-fstrim-usage'
    docs: 'Usage of a filesystem Trim background operation on all locally mounted

      volume'
  - info:
      name: Start a filesystem Trim background operation on a mounted volume
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/filesystem-trim/start'
      body:
        type: json
        data: '{}'
    docs: Start a filesystem Trim background operation on a mounted volume
  - info:
      name: 'Status of a filesystem Trim background operation on a mounted

        volume, if any'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/filesystem-trim/status'
      params:
      - name: volume_id
        value: ''
        type: query
        description: Id of the volume.
      - name: mount_path
        value: ''
        type: query
        description: Path where the volume is mounted.
    docs: 'Status of a filesystem Trim background operation on a mounted

      volume, if any'
  - info:
      name: Stop a filesystem Trim background operation on a mounted volume, if any
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/filesystem-trim/stop'
      body:
        type: json
        data: '{}'
    docs: Stop a filesystem Trim background operation on a mounted volume, if any
- info:
    name: OpenStorageIdentity
    type: folder
  items:
  - info:
      name: 'Capabilities returns the supported services by the cluster.

        This allows SDK implementations to advertise their supported

        services as the API matures. With this information, clients

        can determine supported services from storage clusters at

        different versions.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/identities/capabilities'
    docs: 'Capabilities returns the supported services by the cluster.

      This allows SDK implementations to advertise their supported

      services as the API matures. With this information, clients

      can determine supported services from storage clusters at

      different versions.'
  - info:
      name: Version returns version information about the system.
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/identities/version'
    docs: Version returns version information about the system.
- info:
    name: OpenStorageJob
    type: folder
  items:
  - info:
      name: Enumerate returns all the jobs currently known to the system
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/jobs'
      params:
      - name: type
        value: ''
        type: query
        description: "Type if specified will list the jobs of the provided type.\n\n - UNSPECIFIED_TYPE: Unspecified\n - NONE:\
          \ None\n - DRAIN_ATTACHMENTS: Job for draining volume attachments\n - CLOUD_DRIVE_TRANSFER: Job for transferring\
          \ cloud drives between nodes\n - COLLECT_DIAGS: Job for collecting diags from the cluster nodes\n - DEFRAG: Job\
          \ for storage defragmentation on cluster nodes"
    docs: Enumerate returns all the jobs currently known to the system
  - info:
      name: GetStatus gets the status of a job
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/jobs/:id'
      params:
      - name: id
        value: ''
        type: path
        description: ID of the job
      - name: type
        value: ''
        type: query
        description: "Type of the job.\n\n - UNSPECIFIED_TYPE: Unspecified\n - NONE: None\n - DRAIN_ATTACHMENTS: Job for draining\
          \ volume attachments\n - CLOUD_DRIVE_TRANSFER: Job for transferring cloud drives between nodes\n - COLLECT_DIAGS:\
          \ Job for collecting diags from the cluster nodes\n - DEFRAG: Job for storage defragmentation on cluster nodes"
    docs: GetStatus gets the status of a job
  - info:
      name: 'Update updates an existing job''s state

        Only acceptable state values are

        JobState_PAUSED - acceptable only from running state

        JobState_CANCELLED - acceptable only from running/pause state

        JobState_RUNNING - acceptable only from pause state'
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/v1/jobs/:id'
      params:
      - name: id
        value: ''
        type: path
        description: ID of the job
      body:
        type: json
        data: '{}'
    docs: 'Update updates an existing job''s state

      Only acceptable state values are

      JobState_PAUSED - acceptable only from running state

      JobState_CANCELLED - acceptable only from running/pause state

      JobState_RUNNING - acceptable only from pause state'
- info:
    name: OpenStorageMountAttach
    type: folder
  items:
  - info:
      name: Attach attaches device to the host that the client is communicating with.
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/mountattach/attach'
      body:
        type: json
        data: '{}'
    docs: Requires access AccessType.Write of volume
  - info:
      name: Detaches a the volume from the host
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/mountattach/detach'
      body:
        type: json
        data: '{}'
    docs: Requires access AccessType.Write of volume
  - info:
      name: Mount mounts an attached volume in the host that the client is communicating with
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/mountattach/mount'
      body:
        type: json
        data: '{}'
    docs: Requires access AccessType.Write of volume
  - info:
      name: Unmount unmounts a mounted volume in the host that the client is communicating with
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/mountattach/unmount'
      body:
        type: json
        data: '{}'
    docs: Requires access AccessType.Write of volume
- info:
    name: OpenStorageNode
    type: folder
  items:
  - info:
      name: Enumerate returns the ids of all the nodes in the current cluster
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/nodes'
    docs: Enumerate returns the ids of all the nodes in the current cluster
  - info:
      name: 'CordonAttachments disables any new volume attachments

        from the provided node in the cluster. Existing volume attachments

        will stay on the node.'
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/v1/nodes/attachments/disable/:node_id'
      params:
      - name: node_id
        value: ''
        type: path
        description: Node ID on which any further volume attachments will be disabled
      body:
        type: json
        data: '{}'
    docs: 'CordonAttachments disables any new volume attachments

      from the provided node in the cluster. Existing volume attachments

      will stay on the node.'
  - info:
      name: 'DrainAttachments creates a task to drain volume attachments

        from the provided node in the cluster.'
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/v1/nodes/attachments/drain/:node_id'
      params:
      - name: node_id
        value: ''
        type: path
        description: Id of the node to drain
      body:
        type: json
        data: '{}'
    docs: 'DrainAttachments creates a task to drain volume attachments

      from the provided node in the cluster.'
  - info:
      name: 'UncordonAttachments re-enables volume attachments

        on the provided node in the cluster.'
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/v1/nodes/attachments/enable/:node_id'
      params:
      - name: node_id
        value: ''
        type: path
        description: Node ID on which any further volume attachments will be enabled
      body:
        type: json
        data: '{}'
    docs: 'UncordonAttachments re-enables volume attachments

      on the provided node in the cluster.'
  - info:
      name: Returns bytes used of multiple volumes for a give node
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/nodes/bytesused'
      body:
        type: json
        data: '{}'
    docs: Returns bytes used of multiple volumes for a give node
  - info:
      name: EnumerateWithFilters returns all the nodes in the current cluster
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/nodes/filters'
    docs: EnumerateWithFilters returns all the nodes in the current cluster
  - info:
      name: Inspect returns information about the specified node
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/nodes/inspect/:node_id'
      params:
      - name: node_id
        value: ''
        type: path
        description: Id of node to inspect
    docs: Inspect returns information about the specified node
  - info:
      name: 'InspectCurrent returns information about the storage node

        where the client is currently connected to.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/nodes/inspectcurrent'
    docs: 'InspectCurrent returns information about the storage node

      where the client is currently connected to.'
  - info:
      name: Triggers RelaxedReclaim purge for a give node
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/nodes/usage/:node_id'
      params:
      - name: node_id
        value: ''
        type: path
        description: Id of the node to trigger the purge
    docs: Triggers RelaxedReclaim purge for a give node
- info:
    name: OpenStorageObjectstore
    type: folder
  items:
  - info:
      name: Creates creates an object store endpoint on specified volume
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/v1/objectstores'
      body:
        type: json
        data: '{}'
    docs: Creates creates an object store endpoint on specified volume
  - info:
      name: Inspect returns information about the object store endpoint
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/v1/objectstores/inspect/:objectstore_id'
      params:
      - name: objectstore_id
        value: ''
        type: path
        description: Id of the object store
    docs: Inspect returns information about the object store endpoint
  - info:
      name: 'Updates provided objectstore status.

        This call can be used to stop and start the server while maintaining the same

        object storage id.'
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/v1/objectstores/:objectstore_id'
      params:
      - name: objectstore_id
        value: ''
        type: path
        description: Objectstore Id to update
      body:
        type: json
        data: '{}'
    docs: 'Updates provided objectstor

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/portworx/refs/heads/main/apis.yml