Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: FlashArray REST Active Directory Hosts 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: Hosts
description: 'Hosts organize the storage network addresses (iSCSI Qualified Names, NVMe qualified names, or
Fibre Channel world wide names) of client computers to identify the host''s intiators. Hosts also
control communications between clients and volumes. After a volume has been created, establish a
host-volume connection so that the host can read data from and write data to the volume.
'
paths:
/api/2.52/hosts:
get:
tags:
- Hosts
summary: Pure Storage List Hosts
description: 'Displays a list of 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/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/HostGetResponse'
'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/HostGetResponse'
post:
tags:
- Hosts
summary: Pure Storage Create a Host and Upsert Tags
description: 'Creates a host for 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/HostPost'
required: true
x-codegen-request-body-name: host
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HostResponse'
x-codegen-request-body-name: host
delete:
tags:
- Hosts
summary: Pure Storage Delete a Host
description: 'Deletes an existing host. All volumes that are connected to the host,
either through private or shared connections,
must be disconnected from the host before the host can be deleted.
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:
- Hosts
summary: Pure Storage Modify a Host
description: 'Modifies an existing host, including its storage network addresses, CHAP, host personality, and
preferred arrays, or associate a host to a host group.
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/HostPatch'
required: true
x-codegen-request-body-name: host
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HostResponse'
x-codegen-request-body-name: host
/api/2.52/hosts/host-groups:
get:
tags:
- Hosts
summary: Pure Storage List Hosts That Are Associated with Host Groups
description: 'Displays a list of hosts that are associated with 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/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:
- Hosts
summary: Pure Storage Create a Membership to a Host Group
description: 'Creates a membership to a host group.
Creating 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:
- Hosts
summary: Pure Storage Delete a Membership from a Host Group
description: 'Deletes a membership from a host group.
Deleting a membership from a host group automatically
disconnects the host from all volumes associated with the group.
Hosts can be deleted 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/hosts/performance:
get:
tags:
- Hosts
summary: Pure Storage List Host Performance Data
description: 'Displays real-time and historical performance data, real-time latency data, and average I/O
sizes across all hosts, displayed by host and by total size across all hosts. This data
represents volumes that are connected to the hosts on the local array and stretched volumes
connected to the hosts on any 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/hosts/performance/balance:
get:
tags:
- Hosts
summary: Pure Storage List Host Performance Balance
description: 'Displays the I/O balance statistics for host paths.
'
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/HostPerformanceBalanceGetResponse'
'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/HostPerformanceBalanceGetResponse'
/api/2.52/hosts/performance/by-array:
get:
tags:
- Hosts
summary: Pure Storage List Host 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 hosts on each array and by individual host
on each array. The displayed data represents the volumes that are connected to a host on the
current array and the volumes that are connected to a host 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/hosts/protection-groups:
get:
tags:
- Hosts
summary: Pure Storage List Hosts That Are Members of Protection Groups
description: 'Displays a list of host 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:
- Hosts
summary: Pure Storage Create a Host
description: 'Creates a host 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` parameter represents the name of the host.
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:
- Hosts
summary: Pure Storage Delete a Host from a Protection Group
description: 'Deletes a host 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.
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/hosts/qos:
get:
tags:
- Hosts
summary: Pure Storage List Host QoS Config
description: 'Displays real-time and historical QoS config data for each host.
'
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/HostQosGetResponse'
'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/HostQosGetResponse'
/api/2.52/hosts/space:
get:
tags:
- Hosts
summary: Pure Storage List Host Space Information
description: 'Displays provisioned size and physical storage consumption data for each host.
'
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/hosts/tags:
get:
tags:
- Hosts
summary: Pure Storage List Tags
description: 'Displays the list of tags on host 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:
- Hosts
summary: Pure Storage Delete Tags
description: 'Deletes specified tags on host 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/hosts/tags/batch:
put:
tags:
- Hosts
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:
parameters:
To_member_ids:
name: to_member_ids
in: query
description: 'The resource will be moved to the specified local member realm or array.
Enter multiple IDs in a comma-separated format.
'
style: form
explode: false
schema:
type: array
items:
type: string
Names:
name: names
in: query
description: 'Performs the operation on the unique names specified.
Enter multiple names in comma-separated format.
For example, `name01,name02`.
If there is not at least one resource that matches
each of the elements of `names`, then an error is returned,
except when creating new resources.
'
style: form
explode: false
schema:
type: array
items:
type: string
Destroyed:
name: destroyed
in: query
description: 'If set to `true`, lists only destroyed objects that are in the eradication pending state.
If set to `false`, lists only objects that are not destroyed.
If not set, lists both objects that are destroyed and those that are not destroyed.
For destroyed objects, the time remaining is displayed in milliseconds.
If object name(s) or id(s) are specified, then each object referenced must exist.
If `destroyed` is set to `true`, then each object referenced must also be destroyed.
If `destroyed` is set to `false`, then each object referenced must also not be destroyed.
An error is returned if any of these conditions are not met.
'
schema:
type: boolean
History_resolution:
name: resolution
in: query
description: 'The number of milliseconds between samples of historical data.
For array-wide performance metrics (`/arrays/performance` endpoint),
valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes),
`1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours).
For performance metrics on storage objects (`<object name>/performance` endpoint),
such as volumes,
valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes),
`7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours).
For space metrics, (`<object name>/space` endpoint),
valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours),
`28800000` (8 hours), and `86400000` (24 hours).
Include the `start_time` parameter to display the performance data
starting at the specified start time.
If `start_time` is not specified,
the start time will default to one resolution before the end time,
meaning that the most recent sample of performance data will be displayed.
Include the `end_time` parameter to display the performance data until the specified end time.
If `end_time`is not specified, the end time will default to the current time.
If the `resolution` parameter is not specified
but either the `start_time` or `end_time` parameter is,
then `resolution` will default to the lowest valid resolution.
'
schema:
type: integer
format: int64
minimum: 0
example: 30000
Resource_names:
name: resource_names
in: query
description: 'A comma-separated list of resource names.
The `resource_ids` or `resource_names` parameter is required, but they cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
To_member_names:
name: to_member_names
in: query
description: 'The resource will be moved to the specified local member realm or array.
Enter multiple names in a comma-separated format.
'
style: form
explode: false
schema:
type: array
items:
type: string
Resource_destroyed:
name: resource_destroyed
in: query
description: 'If set to `true`, returns only objects from destroyed resources. Returns an error if
the name of a live resource is specified in the `resource_names` query parameter.
If set to `false`, returns only objects from live resources. Returns an error if the
name of a destroyed resource is specified in the `resource_names` query parameter.
'
schema:
type: boolean
Namespaces:
name: namespaces
in: query
description: 'A comma-separated list of namespaces.
'
style: form
explode: false
schema:
type: array
items:
type: string
Modify_resource_access_on_move:
name: modify_resource_access
in: query
description: 'Describes how to modify a resource accesses of a resource when that resource is moved.
Possible values are: `none`, `create`, and `delete`.
The `none` value indicates that no resource access should be modified.
The `create` value is used when a resource is moving out of a realm into the array and it needs to
create a resource access of the moved resource to the realm from which it is moving.
The `delete` value is used when a resource that is moving from an array into a realm already has
a resource access into that realm.
This is a required parameter when a resource is being moved to another member.
'
schema:
type: string
Total_item_count:
name: total_item_count
in: query
description: 'If set to `true`, the `total_item_count` matching the
specified query parameters is calculated and returned in
the response. If set to `false`, the `total_item_count`
is `null` in the response. This may speed up queries
where the `total_item_count` is large. If not specified,
defaults to `false`.
'
schema:
type: boolean
Member_names:
name: member_names
in: query
description: 'Performs the operation on the unique member name specified.
Examples of members include volumes, hosts, host groups, and directories.
Enter multiple names in comma-separated format. For example, `vol01,vol02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
Allow_errors:
name: allow_errors
in: query
description: 'If set to `true`, the API will allow the operation to continue even if there are errors.
Any errors will be returned in the `errors` field of the response.
If set to `false`, the operation will fail if there are any errors.
'
schema:
type: boolean
default: false
From_member_names:
name: from_member_names
in: query
description: 'Move the resource from the specified local member realm or array.
This should be a union of all local realms and arrays to be removed from the specified resource.
Enter multiple names in a comma-separated format.
'
style: form
explode: false
schema:
type: array
items:
type: string
Group_names:
name: group_names
in: query
description: 'Performs the operation on the unique group name specified.
Examples of groups include host groups, pods, protection groups, and volume groups.
Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`.
'
style: form
explode: false
schema:
type: array
items:
type: string
Total_only:
name: total_only
in: query
description: 'If set to `true`, returns the aggregate value of all items after filtering.
Where it makes more sense, the average value is displayed instead.
The values are displayed for each name where meaningful.
If `total_only=true`, the `items` list will be empty.
'
schema:
type: boolean
Keys:
name: keys
in: query
description: 'A comma-separated list of tag keys.
'
style: form
explode: false
schema:
type: array
items:
type: string
Ids:
name: ids
in: query
description: "A comma-separated list of unique resource IDs. At least one resource must match\n each specified ID, otherwise an error is returned. This parameter is required\n if ids or names is not provided, but it cannot be used together with name or names.\n"
style: form
explode: false
schema:
type: array
items:
type: string
Resource_ids:
name: resource_ids
in: query
description: 'A comma-separated list of resource IDs.
The `resource_ids` or `resource_names` parameter is required, but they cannot be set together.
'
style: form
explode: false
schema:
# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-hosts-api-openapi.yml