Pure Storage Volumes API

A volume represents a container that manages the storage space on the array. After a volume has been created, host-volume connections must be established so that the host can read data from and write data to the volume. Volume data should be protected using asynchronous replication to a remote array, synchronous replication between remote arrays, and replication to external storage systems.

Documentation

Specifications

Code Examples

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-volume-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-host-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flasharray-rest-api-array-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flasharray-rest-api-volume-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-file-system-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-bucket-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-array-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flashblade-rest-api-file-system-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flashblade-rest-api-bucket-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-metric-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-alert-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/pure1-cloud-api-array-structure.json

Other Resources

🔗
SDKs
https://pypi.org/project/py-pure-client/
🔗
SDKs
https://github.com/PureStorage-OpenConnect/PureStorage.Pure1
🔗
SDKs
https://github.com/PureStorage-OpenConnect/powershell-toolkit-3
🔗
SDKs
https://github.com/PureStorage-OpenConnect/rest-client
🔗
Integrations
https://github.com/PureStorage-OpenConnect/terraform-provider-flash
🔗
Integrations
https://github.com/PureStorage-OpenConnect/pure-fa-openmetrics-exporter
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-flasharray-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flasharray-rest-api-volume-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flasharray-rest-api-array-example.json
🔗
SDKs
https://github.com/PureStorage-OpenConnect/flashblade-powershell
🔗
SDKs
https://github.com/purestorage/purity_fb_python_client
🔗
Integrations
https://github.com/PureStorage-OpenConnect/pure-fb-openmetrics-exporter
🔗
Tools
https://github.com/PureStorage-OpenConnect/flashblade-mcp-server
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-flashblade-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flashblade-rest-api-file-system-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flashblade-rest-api-bucket-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-pure1-cloud-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/pure1-cloud-api-array-example.json

OpenAPI Specification

pure-storage-volumes-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: FlashArray REST Active Directory Volumes API
  version: '2.52'
  description: 'Active Directory configuration authenticates users for NFS using Kerberos or SMB using Kerberos

    or New Technology LAN Manager (NTLM). Active Directory is also used to authorize users by

    mapping identities across the NFS and SMB protocols by using LDAP queries.

    '
servers:
- url: /
tags:
- name: Volumes
  description: 'A volume represents a container that manages the storage space on the array. After a volume has

    been created, host-volume connections must be established so that the host can read data from

    and write data to the volume. Volume data should be protected using asynchronous replication to

    a remote array, synchronous replication between remote arrays, and replication to external

    storage systems.

    '
paths:
  /api/2.52/volumes:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Volumes
      description: 'Displays a list of volumes, including those pending eradication.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Destroyed'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Total_item_count'
      - $ref: '#/components/parameters/Total_only'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeGetResponse'
    post:
      tags:
      - Volumes
      summary: Pure Storage Create or Copy a Volume and Upsert Tags
      description: 'Creates one or more virtual storage volumes of the specified size.

        If `provisioned` is not specified, the size of the new volume defaults to 1 MB.

        The `names` query parameter is required.

        The `add_to_protection_group_names` query parameter specifies a list of protection group

        names that will compose the initial protection for the volume.

        The `with_default_protection` query parameter specifies whether to use the container

        default protection configuration for the volume.

        The `add_to_protection_group_names` and `with_default_protection` query parameters

        cannot be provided when `overwrite` is `true`.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Add_to_protection_group_ids'
      - $ref: '#/components/parameters/Add_to_protection_group_names'
      - $ref: '#/components/parameters/Allow_throttle_operation'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Overwrite'
      - $ref: '#/components/parameters/With_default_protection'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumePost'
        required: true
        x-codegen-request-body-name: volume
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeResponse'
      x-codegen-request-body-name: volume
    delete:
      tags:
      - Volumes
      summary: Pure Storage Delete a Volume
      description: 'Deletes a volume that has been destroyed and is pending eradication.

        Eradicated volumes cannot be recovered.

        Volumes are destroyed using the `PATCH` method.

        The `ids` or `names` parameter is required, but they cannot be set together.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Names'
      responses:
        '200':
          description: OK
          content: {}
    patch:
      tags:
      - Volumes
      summary: Pure Storage Modify a Volume
      description: 'Modifies a volume by renaming, destroying, or resizing it.

        To rename a volume, set `name` to the new name. To destroy a volume, set `destroyed=true`.

        To recover a volume that has been destroyed and is pending eradication, set `destroyed=false`.

        Set the bandwidth and IOPS limits of a volume through the respective `bandwidth_limit` and

        `iops_limit` parameter. This moves the volume into a pod or volume group through the respective

        `pod` or `volume_group` parameter.

        The `ids` or `names` parameter is required, but they cannot be set together.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Add_to_protection_group_ids'
      - $ref: '#/components/parameters/Add_to_protection_group_names'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Remove_from_protection_group_ids'
      - $ref: '#/components/parameters/Remove_from_protection_group_names'
      - $ref: '#/components/parameters/Truncate'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumePatch'
        required: true
        x-codegen-request-body-name: volume
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeResponse'
      x-codegen-request-body-name: volume
  /api/2.52/volumes/batch:
    post:
      tags:
      - Volumes
      summary: Pure Storage Create or Copy Volumes and Upsert Tags
      description: 'Creates or copies a list of virtual storage volumes. Volumes of different

        sizes, vgroups, and tag upsertions can be copied this way.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_throttle_operation'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Overwrite'
      - $ref: '#/components/parameters/With_default_protection'
      requestBody:
        description: 'A list of volumes to be created or copied.

          '
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/VolumeBatchPost'
        required: true
        x-codegen-request-body-name: volume
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumesBatchResponse'
      x-codegen-request-body-name: volume
  /api/2.52/volumes/diff:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Volume Diffs
      description: Displays block differences for the specified volumes.
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Base_id'
      - $ref: '#/components/parameters/Base_name'
      - $ref: '#/components/parameters/Block_size'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Next_allocated_block_hint'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Segment_length'
      - $ref: '#/components/parameters/Segment_offset'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Total_item_count'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumesDiffGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumesDiffGetResponse'
  /api/2.52/volumes/batch/test:
    post:
      tags:
      - Volumes
      summary: Pure Storage Create an Attempt to Copy Volumes and Upsert Tags
      description: 'Creates an attempt to copy virtual storage volumes of different sizes in different vgroups and

        also upserts tags, without actually creating them, to test if they can be successfully created.

        Only available for creating volumes via a copy, not direct volume creation.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_throttle_operation'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Overwrite'
      - $ref: '#/components/parameters/With_default_protection'
      requestBody:
        description: 'A list of volumes to be copied.

          '
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/VolumeBatchPost'
        required: true
        x-codegen-request-body-name: volume
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestResultWithResourceWithIdPostResponse'
      x-codegen-request-body-name: volume
  /api/2.52/volumes/performance:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Volume Performance Data
      description: 'Displays real-time and historical performance data, real-time latency data, and average I/O

        sizes for each volume and and as a total of all volumes across the entire array.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Destroyed'
      - $ref: '#/components/parameters/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/History_resolution'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/History_start_time'
      - $ref: '#/components/parameters/Total_item_count'
      - $ref: '#/components/parameters/Total_only'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcePerformanceGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcePerformanceGetResponse'
  /api/2.52/volumes/performance/by-array:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Volume Performance Data by Array
      description: 'Displays real-time and historical performance data, real-time latency data,

        and average I/O size data.

        The data returned is for each volume on the current array and for each volume

        on any remote arrays that are visible to the current array.

        The data is grouped by individual volumes

        and as a total across all volumes on each array.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Destroyed'
      - $ref: '#/components/parameters/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/History_resolution'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/History_start_time'
      - $ref: '#/components/parameters/Total_item_count'
      - $ref: '#/components/parameters/Total_only'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcePerformanceByArrayGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcePerformanceByArrayGetResponse'
  /api/2.52/volumes/protection-groups:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Volumes That Are Members of Protection Groups
      description: 'Displays a list of volume members that belong to one or more protection groups.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Group_ids'
      - $ref: '#/components/parameters/Group_names'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Member_destroyed'
      - $ref: '#/components/parameters/Member_ids'
      - $ref: '#/components/parameters/Member_names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Total_item_count'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionGroupsVolumesGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionGroupsVolumesGetResponse'
    post:
      tags:
      - Volumes
      summary: Pure Storage Create a Volume and Add it to a Protection Group
      description: 'Creates a volume member and adds it to a protection group.

        Members that are already in the protection group are not affected.

        For asynchronous replication, only members of the same type can belong to a protection group.

        The `group_names` parameter represents the name of the protection group, and

        the `member_names` and `member_ids` parameters represent the names or IDs of the volume.

        The `group_names` and only one of `member_names` or `member_ids`

        parameters are required and must be set together.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Group_ids'
      - $ref: '#/components/parameters/Group_names'
      - $ref: '#/components/parameters/Member_ids'
      - $ref: '#/components/parameters/Member_names'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectionGroupsVolumesResponse'
    delete:
      tags:
      - Volumes
      summary: Pure Storage Delete a Volume from a Protection Group
      description: 'Deletes a volume member from a protection group.

        After the member has been deleted, it is no longer protected by the group.

        Any protection group snapshots that were taken before the member was deleted

        are not affected.

        Deleting a member from a protection group does not delete the member from the array or realm,

        and the member can be added back to the protection group at any time.

        The `group_names` parameter represents the name of the protection group, and

        the `member_names` and `member_ids` parameters represent the names or IDs of the volume.

        The `group_names` and only one of `member_names` or `member_ids`

        parameters are required and must be set together.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Group_ids'
      - $ref: '#/components/parameters/Group_names'
      - $ref: '#/components/parameters/Member_ids'
      - $ref: '#/components/parameters/Member_names'
      responses:
        '200':
          description: OK
          content: {}
  /api/2.52/volumes/qos:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Volume QoS Config
      description: 'Displays real-time and historical QoS configuration data for each volume.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Destroyed'
      - $ref: '#/components/parameters/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/History_resolution'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/History_start_time'
      - $ref: '#/components/parameters/Total_item_count'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeQosGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeQosGetResponse'
  /api/2.52/volumes/space:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Volume Space Information
      description: 'Displays the provisioned size and physical storage consumption data for each volume.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Destroyed'
      - $ref: '#/components/parameters/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/History_resolution'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/History_start_time'
      - $ref: '#/components/parameters/Total_item_count'
      - $ref: '#/components/parameters/Total_only'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeSpaceGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeSpaceGetResponse'
  /api/2.52/volumes/tags:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Tags
      description: Displays the list of tags.
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Namespaces'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Resource_destroyed'
      - $ref: '#/components/parameters/Resource_ids'
      - $ref: '#/components/parameters/Resource_names'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Total_item_count'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagGetResponse'
    delete:
      tags:
      - Volumes
      summary: Pure Storage Delete Tags
      description: Deletes specified tags.
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Keys'
      - $ref: '#/components/parameters/Namespaces_delete'
      - $ref: '#/components/parameters/Resource_ids'
      - $ref: '#/components/parameters/Resource_names'
      responses:
        '200':
          description: OK
          content: {}
  /api/2.52/volumes/tags/batch:
    put:
      tags:
      - Volumes
      summary: Pure Storage Update Tags
      description: 'Updates tags.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Resource_ids'
      - $ref: '#/components/parameters/Resource_names'
      requestBody:
        description: A list of tags to be created or, if one already exists, updated.
        content:
          application/json:
            schema:
              maxItems: 30
              minItems: 1
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/TagBatch'
        required: true
        x-codegen-request-body-name: tag
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagResponse'
      x-codegen-request-body-name: tag
  /api/2.52/volumes/test:
    post:
      tags:
      - Volumes
      summary: Pure Storage Create a Dry Run Attempt to Copy a Volume
      description: 'Creates a dry run attempt to see if copying a volume would

        succeed. No virtual volumes are actually copied or created in this process.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Add_to_protection_group_ids'
      - $ref: '#/components/parameters/Add_to_protection_group_names'
      - $ref: '#/components/parameters/Allow_throttle_operation'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Overwrite'
      - $ref: '#/components/parameters/With_default_protection'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumePost'
        required: true
        x-codegen-request-body-name: volume
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestResultWithResourceWithIdPostResponse'
      x-codegen-request-body-name: volume
  /api/2.52/volumes/volume-groups:
    get:
      tags:
      - Volumes
      summary: Pure Storage List Volumes That Are in Volume Groups
      description: 'Displays a list of volumes that are in a volume group.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Allow_errors'
      - $ref: '#/components/parameters/Context_names_get'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Group_ids'
      - $ref: '#/components/parameters/Group_names'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Member_ids'
      - $ref: '#/components/parameters/Member_names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Total_item_count'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberGetResponse'
        '207':
          description: 'Partial success. Some resources were returned, but there

            were also errors possibly preventing some resources from

            being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberGetResponse'
  /api/1.5/volumes:
    get:
      tags:
      - Volumes
      summary: Pure Storage Get Volumes
      description: 'Retrieves information about FlashArray volume objects.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization_2'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Continuation_token_2'
      - $ref: '#/components/parameters/Filter_2'
      - $ref: '#/components/parameters/Ids_2'
      - $ref: '#/components/parameters/Limit_2'
      - $ref: '#/components/parameters/Names_2'
      - $ref: '#/components/parameters/Offset_2'
      - $ref: '#/components/parameters/Sort_2'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
            X-RateLimit-Remaining-second:
              description: 'The number of requests remaining for the organization in that second.

                '
              schema:
                type: integer
            X-RateLimit-Remaining-minute:
              description: 'The number of requests remaining for the organization in that minute.

                '
              schema:
                type: integer
            X-RateLimit-Limit-second:
              description: The number of requests available per second.
              schema:
                type: integer
            X-RateLimit-Limit-minute:
              description: The number of requests available per minute.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeGetResponse_2'
        '400':
          $ref: '#/components/responses/Error400'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
components:
  schemas:
    ProtectionGroupsVolumes:
      allOf:
      - $ref: '#/components/schemas/_context'
      - type: object
        properties:
          group:
            $ref: '#/components/schemas/_reference'
          member:
            $ref: '#/components/schemas/_protectionGroupsVolumesMember'
    _timeAware:
      type: object
      properties:
        _as_of:
          description: The freshness of the data (timestamp in millis since epoch).
          type: integer
          format: int64
          readOnly: true
          example: 1502729489760
    ErrorNoContext:
      type: object
      properties:
        message:
          type: string
          example: Something was wrong
    VolumeGetResponse_2:
      allOf:
      - $ref: '#/components/schemas/PageInfo_2'
      - $ref: '#/components/schemas/VolumeResponse_2'
    VolumesDiffGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/VolumesDiffResponse'
      - $ref: '#/components/schemas/_errorContextResponse'
    Tag:
      allOf:
      - $ref: '#/components/schemas/_context'
      - type: object
        properties:
          copyable:
            description: 'Specifies whether or not to include the tag when copying the parent resource.

              If set to `true`, the tag is included in resource copying.

              If set to `false`, the tag is not included.

              If not specified, defaults to `true`.

              '
            type: boolean
            example: true
          key:
            description: 'Key of the tag. Supports up to 64 Unicode characters.

              '
            type: string
            example: environment
          namespace:
            description: 'Optional namespace of the tag.

              Namespace identifies the category of the tag. Omitting the namespace

              defaults to the namespace `default`. The `pure*` namespaces are

              reserved for plugins and integration partners. It is recommended

              that customers avoid using reserved namespaces.

              '
            type: string
            example: default
          resource:
            $ref: '#/components/schemas/_fixedReference'
          value:
            description: 'Value of the tag. Supports up to 256 Unicode characters.

              '
            type: string
            example: staging
    _performance_ot

# --- truncated at 32 KB (120 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-volumes-api-openapi.yml