Pure Storage Host Groups API

Host groups implement consistent connections between a set of hosts and one or more volumes. Connections are consistent in the sense that all hosts associated with a host group address a volume connected to the group by the same LUN. Host groups are typically used to provide a common view of storage volumes to the hosts in a clustered application.

Operations 17

GET /api/2.52/host-groups Pure Storage List Host Groups
POST /api/2.52/host-groups Pure Storage Create a Host Group and Upsert Tags
DELETE /api/2.52/host-groups Pure Storage Delete a Host Group
PATCH /api/2.52/host-groups Pure Storage Modify a Host Group
GET /api/2.52/host-groups/hosts Pure Storage List Host Groups That Are Associated with Hosts
POST /api/2.52/host-groups/hosts Pure Storage Create a Membership to a Host Group
DELETE /api/2.52/host-groups/hosts Pure Storage Delete a Membership from a Host Group
GET /api/2.52/host-groups/performance Pure Storage List Host Group Performance Data
GET /api/2.52/host-groups/performance/by-array Pure Storage List Host Group Performance Data by Array
GET /api/2.52/host-groups/protection-groups Pure Storage List Host Groups That Are Members of Protection Groups
POST /api/2.52/host-groups/protection-groups Pure Storage Create a Host Group
DELETE /api/2.52/host-groups/protection-groups Pure Storage Delete a Host Group from a Protection Group
GET /api/2.52/host-groups/qos Pure Storage List Host Group QoS Config
GET /api/2.52/host-groups/space Pure Storage List Host Group Space Information
GET /api/2.52/host-groups/tags Pure Storage List Tags
DELETE /api/2.52/host-groups/tags Pure Storage Delete Tags
PUT /api/2.52/host-groups/tags/batch Pure Storage Update Tags

Documentation

Specifications

Code Examples

Schemas & Data

📊
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-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
🔗
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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pure-storage-host-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pure-storage-host-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FlashArray REST Active Directory Host Groups 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: Host Groups
  description: 'Host groups implement consistent connections between a set of hosts and one or more volumes.

    Connections are consistent in the sense that all hosts associated with a host group

    address a volume connected to the group by the same LUN. Host groups are typically

    used to provide a common view of storage volumes to the hosts in a clustered application.

    '
paths:
  /api/2.52/host-groups:
    get:
      tags:
      - Host Groups
      summary: Pure Storage List Host Groups
      description: 'Displays a list of host 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/Destroyed'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/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/HostGroupGetResponse'
        '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/HostGroupGetResponse'
    post:
      tags:
      - Host Groups
      summary: Pure Storage Create a Host Group and Upsert Tags
      description: 'Creates a host group in which the `names` query parameter is required.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostGroupPost'
        required: false
        x-codegen-request-body-name: host-group
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostGroupResponse'
      x-codegen-request-body-name: host-group
    delete:
      tags:
      - Host Groups
      summary: Pure Storage Delete a Host Group
      description: 'Deletes a host group in which the `names` query parameter is required.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names'
      responses:
        '200':
          description: OK
          content: {}
    patch:
      tags:
      - Host Groups
      summary: Pure Storage Modify a Host Group
      description: 'Modifies a host group in which the `names` query parameter is required.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/From_member_ids'
      - $ref: '#/components/parameters/From_member_names'
      - $ref: '#/components/parameters/Modify_resource_access_on_move'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/To_member_ids'
      - $ref: '#/components/parameters/To_member_names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostGroupPatch'
        required: true
        x-codegen-request-body-name: host-group
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostGroupResponse'
      x-codegen-request-body-name: host-group
  /api/2.52/host-groups/hosts:
    get:
      tags:
      - Host Groups
      summary: Pure Storage List Host Groups That Are Associated with Hosts
      description: 'Displays a list of host groups that are associated with hosts.


        '
      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_names'
      - $ref: '#/components/parameters/Limit'
      - $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/MemberNoIdAllGetResponse'
        '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/MemberNoIdAllGetResponse'
    post:
      tags:
      - Host Groups
      summary: Pure Storage Create a Membership to a Host Group
      description: 'Create a membership between a host and a host group. Adding a membership to a host group

        automatically connects the host to all volumes associated with the group. Multiple hosts can be

        belong to a host group, but a host can only belong to one host group. Hosts can be added to host

        groups at any time. The `group_names` and `member_names` parameters are required and must be set

        together, and only one host group can be specified at a time.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Group_names'
      - $ref: '#/components/parameters/Member_names'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberNoIdAllResponse'
    delete:
      tags:
      - Host Groups
      summary: Pure Storage Delete a Membership from a Host Group
      description: 'Deletes a membership from a host group. Removing a membership from a host group automatically

        disconnects the host from all volumes associated with the group.

        Hosts can be removed from host groups at any time.

        The `group_names` and `member_names` parameters are required

        and must be set together, and only one host group can be specified at a time.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Group_names'
      - $ref: '#/components/parameters/Member_names'
      responses:
        '200':
          description: OK
          content: {}
  /api/2.52/host-groups/performance:
    get:
      tags:
      - Host Groups
      summary: Pure Storage List Host Group Performance Data
      description: 'Displays real-time and historical performance data, real-time latency data, and average I/O

        sizes of all host groups, displayed both by host group and by total size across all host

        groups. This data represents volumes that are connected to the host groups on the local

        array and stretched volumes connected to the host groups on arrays that are connected by

        synchronous replication.


        '
      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/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $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/ResourcePerformanceNoIdGetResponse'
        '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/ResourcePerformanceNoIdGetResponse'
  /api/2.52/host-groups/performance/by-array:
    get:
      tags:
      - Host Groups
      summary: Pure Storage List Host Group Performance Data by Array
      description: 'Displays real-time and historical performance data, real-time latency data, and average I/O size

        data. The data is displayed by total size across all host groups on each array and by individual

        host group on each array. The displayed data represents the volumes that are connected to a host

        group on the current array and the volumes that are connected to a host group on any remote

        arrays that are visible to the current 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/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $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/ResourcePerformanceNoIdByArrayGetResponse'
        '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/ResourcePerformanceNoIdByArrayGetResponse'
  /api/2.52/host-groups/protection-groups:
    get:
      tags:
      - Host Groups
      summary: Pure Storage List Host Groups That Are Members of Protection Groups
      description: 'Displays a list of host group 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_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/MemberNoIdMemberGetResponse'
        '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/MemberNoIdMemberGetResponse'
    post:
      tags:
      - Host Groups
      summary: Pure Storage Create a Host Group
      description: 'Creates a host group member and assigns 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` parameter represents the name of the host group.

        The `group_names` and `member_names` 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_names'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberNoIdMemberResponse'
    delete:
      tags:
      - Host Groups
      summary: Pure Storage Delete a Host Group from a Protection Group
      description: 'Deletes a host group member from a protection group.

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

        Any protection group snapshots that were taken before the member was removed are not affected.

        Removing 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` parameter represents the name of the host group.

        The `group_names` and `member_names` 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_names'
      responses:
        '200':
          description: OK
          content: {}
  /api/2.52/host-groups/qos:
    get:
      tags:
      - Host Groups
      summary: Pure Storage List Host Group QoS Config
      description: 'Displays real-time and historical QoS config data for each host 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/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/HostGroupQosGetResponse'
        '207':
          description: 'Indicates partial success.

            Some resources were returned, but errors may have prevented other resources from being returned.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostGroupQosGetResponse'
  /api/2.52/host-groups/space:
    get:
      tags:
      - Host Groups
      summary: Pure Storage List Host Group Space Information
      description: 'Displays provisioned size and physical storage consumption data for each host 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/Limit'
      - $ref: '#/components/parameters/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/ResourceSpaceNoIdGetResponse'
        '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/ResourceSpaceNoIdGetResponse'
  /api/2.52/host-groups/tags:
    get:
      tags:
      - Host Groups
      summary: Pure Storage List Tags
      description: 'Displays the list of tags on host group objects.

        '
      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:
      - Host Groups
      summary: Pure Storage Delete Tags
      description: 'Deletes specified tags on host group objects.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Keys'
      - $ref: '#/components/parameters/Namespaces'
      - $ref: '#/components/parameters/Resource_ids'
      - $ref: '#/components/parameters/Resource_names'
      responses:
        '200':
          description: OK
          content: {}
  /api/2.52/host-groups/tags/batch:
    put:
      tags:
      - Host Groups
      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/NonCopyableTagBatch'
        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
components:
  schemas:
    MemberNoIdMemberGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/MemberNoIdMemberResponse'
      - $ref: '#/components/schemas/_errorContextResponse'
    HostGroupPost:
      type: object
      properties:
        qos:
          description: Sets QoS limits.
          title: ContainerQosCeilings
          allOf:
          - $ref: '#/components/schemas/_containerQosCeilings'
        tags:
          description: 'The list of tags to be upserted with the object.

            '
          type: array
          items:
            $ref: '#/components/schemas/NonCopyableTag'
    NonCopyableTagBatch:
      type: object
      properties:
        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. Avoid using reserved namespaces.

            '
          type: string
          example: default
        resource:
          description: 'A reference to the parent object.

            '
          title: Reference
          allOf:
          - $ref: '#/components/schemas/_reference'
        value:
          description: 'Value of the tag. Supports up to 256 Unicode characters.

            '
          type: string
          example: staging
    _qos_iops_limit_type:
      type: integer
      format: int64
      minimum: 100
      maximum: 100000000
    _performance:
      type: object
      properties:
        bytes_per_mirrored_write:
          description: 'The average I/O size per mirrored write, measured in bytes.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        bytes_per_op:
          description: 'The average I/O size for both read and write (all) operations.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        bytes_per_read:
          description: 'The average I/O size per read, measured in bytes.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        bytes_per_write:
          description: 'The average I/O size per write, measured in bytes.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        cached_read_bytes_per_sec:
          description: The number of cached bytes read, measured in bytes per second.
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        cached_reads_per_sec:
          description: The number of cached read requests, measured in requests per second.
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        mirrored_write_bytes_per_sec:
          description: 'The number of mirrored bytes written per second.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        mirrored_writes_per_sec:
          description: 'The number of mirrored writes per second.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        non_cached_read_bytes_per_sec:
          description: The number of non-cached bytes read, measured in bytes per second.
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        non_cached_reads_per_sec:
          description: The number of non-cached read requests, measured in requests per second.
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        qos_rate_limit_usec_per_mirrored_write_op:
          description: 'The average time it takes the array to process a mirrored I/O write request,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        qos_rate_limit_usec_per_read_op:
          description: 'The average time spent waiting due to QoS rate limiting for a read request,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        qos_rate_limit_usec_per_write_op:
          description: 'The average time that a write I/O request spends waiting

            as a result of the volume reaching its QoS bandwidth limit,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        qos_scheduling_usec_per_mirrored_write_op:
          description: 'The average time that a mirrored write I/O gets delayed due to QoS scheduling,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        qos_scheduling_usec_per_read_op:
          description: 'The average time that a read I/O gets delayed due to QoS scheduling,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        qos_scheduling_usec_per_write_op:
          description: 'The average time that a write I/O gets delayed due to QoS scheduling,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        queue_usec_per_mirrored_write_op:
          description: 'The average time that a mirrored write I/O request spends in the kernel waiting to be served,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        queue_usec_per_read_op:
          description: 'The average time that a read I/O request spends in the kernel waiting to be served,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        queue_usec_per_write_op:
          description: 'The average time that a write I/O request spends in the kernel waiting to be served,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        read_bytes_per_sec:
          description: 'The number of bytes read per second.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        read_cache_hit_ratio:
          description: The ratio of read requests served directly from the cache.
          type: number
          format: float
          minimum: 0
          maximum: 1
          readOnly: true
        reads_per_sec:
          description: 'The number of read requests processed per second.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        san_usec_per_mirrored_write_op:
          description: 'The average time required to transfer data

            from the initiator to the array for a mirrored write request,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        san_usec_per_read_op:
          description: 'The average time required to transfer data from the array

            to the initiator for a read request, measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        san_usec_per_write_op:
          description: 'The average time required to transfer data

            from the initiator to the array for a write request,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        service_usec_per_mirrored_write_op:
          description: 'The average time required for the array to service a mirrored write request,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        service_usec_per_read_op:
          description: 'The average time required for the array to service a read request,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        service_usec_per_read_op_cache_reduction:
          description: 'The percentage reduction in `service_usec_per_read_op` due to data cache

            hits. For example, a value of 0.25 indicates that the value of

            `service_usec_per_read_op` is 25% lower than it would have been without

            any data cache hits.

            '
          type: number
          format: float
          minimum: 0
          maximum: 1
        service_usec_per_read_op_cached:
          description: 'The average time required for the array to service a read request that is satisfied by a cache

            hit, measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        service_usec_per_read_op_non_cached:
          description: 'The average time required for the array to service a read request that is not satisfied by a

            cache hit, measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        service_usec_per_write_op:
          description: 'The average time required for the array to service a write request,

            measured in microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        time:
          description: 'The time when the sample performance data was taken,

            measured in milliseconds since the UNIX epoch.

            '
          type: integer
          format: int64
          readOnly: true
        usec_per_mirrored_write_op:
          description: 'The average time it takes the array to process a mirrored I/O write r

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