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 Workloads 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: Workloads
description: 'Workloads organize storage resources (such as volumes) and their related configuration and
policy objects into logical groupings. Workloads can be deployed from workload presets.
'
paths:
/api/2.52/workloads:
get:
tags:
- Workloads
summary: Pure Storage List Workloads
description: 'Displays a list of workloads.
'
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/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadGetResponse'
'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/WorkloadGetResponse'
post:
tags:
- Workloads
summary: Pure Storage Create a Workload
description: 'Creates one workload.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names_single_required'
- $ref: '#/components/parameters/Preset_ids'
- $ref: '#/components/parameters/Preset_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPost'
required: true
x-codegen-request-body-name: workload
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadResponse'
x-codegen-request-body-name: workload
delete:
tags:
- Workloads
summary: Pure Storage Delete a Workload
description: 'Deletes a workload that has been destroyed and is pending eradication.
Eradicated workloads cannot be recovered.
Workloads 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_single'
- $ref: '#/components/parameters/Names_single'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Workloads
summary: Pure Storage Modify a Workload
description: 'Modifies a workload by renaming or destroying it.
To rename a workload, set `name` to the new name. To destroy a workload, set `destroyed=true`.
To recover a workload that has been destroyed and is pending eradication, set `destroyed=false`.
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_single'
- $ref: '#/components/parameters/Names_single'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPatch'
required: true
x-codegen-request-body-name: workload
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadResponse'
x-codegen-request-body-name: workload
/api/2.52/workloads/placement-recommendations:
get:
tags:
- Workloads
summary: Pure Storage List Workload Placement Recommendations
description: Displays a list of placement recommendations for workloads.
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/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendationGetResponse'
'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/WorkloadPlacementRecommendationGetResponse'
post:
tags:
- Workloads
summary: Pure Storage Create a Request for a Workload Placement Recommendation.
description: 'Creates a recommendation for the placement of the specified workload.
The computation might take a few minutes.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Placement_names'
- name: preset_ids
in: query
description: 'Creates the workload placement recommendations using the presets
specified by ids. Only one preset can be specified. One of the
`preset_ids` or `preset_names` parameters are required, but they
cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
- name: preset_names
in: query
description: 'Creates the workload placement recommendations using the presets
specified by names. Only one preset can be specified. One of the
`preset_ids` or `preset_names` parameters are required, but they
cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendation'
required: true
x-codegen-request-body-name: inputs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendationResponse'
x-codegen-request-body-name: inputs
/api/2.52/workloads/tags:
get:
tags:
- Workloads
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/Namespaces'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
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:
- Workloads
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_single'
- $ref: '#/components/parameters/Resource_names_single'
responses:
'200':
description: OK
content: {}
/api/2.52/workloads/tags/batch:
put:
tags:
- Workloads
summary: Pure Storage Update Tags
description: Updates or creates tags for all specified objects.
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Resource_ids_single'
- $ref: '#/components/parameters/Resource_names_single'
requestBody:
description: A list of tags to be created or, if they already exist, 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.26/workloads:
get:
tags:
- Workloads
summary: Pure Storage List Workloads
description: 'Displays a list of workloads.
'
parameters:
- $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/Ids_2'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadGetResponse_2'
'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/WorkloadGetResponse_2'
post:
tags:
- Workloads
summary: Pure Storage Create a Workload
description: 'Creates one workload.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names_single_required'
- $ref: '#/components/parameters/Preset_ids'
- $ref: '#/components/parameters/Preset_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPost'
required: true
x-codegen-request-body-name: workload
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadResponse'
x-codegen-request-body-name: workload
delete:
tags:
- Workloads
summary: Pure Storage Delete a Workload
description: 'Deletes a workload that has been destroyed and is pending eradication.
Eradicated workloads cannot be recovered.
Workloads are destroyed using the `PATCH` method.
The `ids` or `names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids_single'
- $ref: '#/components/parameters/Names_single'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Workloads
summary: Pure Storage Modify a Workload
description: 'Modifies a workload by renaming or destroying it.
To rename a workload, set `name` to the new name. To destroy a workload, set `destroyed=true`.
To recover a workload that has been destroyed and is pending eradication, set `destroyed=false`.
The `ids` or `names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids_single'
- $ref: '#/components/parameters/Names_single'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPatch'
required: true
x-codegen-request-body-name: workload
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadResponse'
x-codegen-request-body-name: workload
/api/2.26/workloads/placement-recommendations:
get:
tags:
- Workloads
summary: Pure Storage List Workload Placement Recommendations
description: Displays a list of placement recommendations for workloads.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Ids_2'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendationGetResponse_2'
'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/WorkloadPlacementRecommendationGetResponse_2'
post:
tags:
- Workloads
summary: Pure Storage Create a Request for a Workload Placement Recommendation.
description: 'Creates a recommendation for the placement of the specified workload.
The computation might take a few minutes.
'
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Placement_names'
- name: preset_ids
in: query
description: 'Creates the workload placement recommendations using the presets
specified by ids. Only one preset can be specified. One of the
`preset_ids` or `preset_names` parameters are required, but they
cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
- name: preset_names
in: query
description: 'Creates the workload placement recommendations using the presets
specified by names. Only one preset can be specified. One of the
`preset_ids` or `preset_names` parameters are required, but they
cannot be set together.
'
style: form
explode: false
schema:
type: array
items:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendation_2'
required: true
x-codegen-request-body-name: inputs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadPlacementRecommendationResponse'
x-codegen-request-body-name: inputs
/api/2.26/workloads/tags:
get:
tags:
- Workloads
summary: Pure Storage List Tags
description: Displays the list of tags.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Namespaces'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
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:
- Workloads
summary: Pure Storage Delete Tags
description: Deletes specified tags.
parameters:
- $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.26/workloads/tags/batch:
put:
tags:
- Workloads
summary: Pure Storage Update Tags
description: Updates or creates tags for all specified objects.
parameters:
- $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 they already exist, updated.
content:
application/json:
schema:
maxItems: 30
minItems: 1
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/TagBatch_2'
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:
_workloadPlacementRecommendationParameterConstraints_2:
description: Constraints to apply to the parameter.
type: object
properties:
resource_reference:
$ref: '#/components/schemas/_workloadPlacementRecommendationParameterResourceReference_2'
_workloadPlacementRecommendationResourceReference_2:
description: 'Defines a group of resources. At least one of them should be present
on this target to use it for computation of a recommendation.
Currently only hosts or host groups could be used.
'
type: object
required:
- allowed_values
properties:
allowed_values:
description: 'A list of allowed values for the resource reference.
For hosts and host groups, each item does not define a specific object on
some target, but defines a pattern which should be matched by the target.
For example, { `type`: `host`, `name`: `host1` } will match all targets
that have a host with name `host1`.
'
type: array
items:
$ref: '#/components/schemas/_referenceWritable'
_referenceWithoutType:
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
name:
description: 'The resource name, such as volume name, pod name,
snapshot name, and so on.
'
type: string
_referenceWithType:
allOf:
- $ref: '#/components/schemas/_reference'
- type: object
properties:
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values are `hosts`, `host-groups`, `network-interfaces`, `pods`,
`ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`,
`volume-groups`, `directories`, `policies/nfs`, `policies/smb`, and
`policies/snapshot`, etc.
'
type: string
x-aliases:
- _reference
_workloadPlacementRecommendationParameterResourceReference:
description: The constraints applied to parameters of the resource reference type.
type: object
properties:
allowed_values:
description: 'The valid values accepted by the parameter to create a workload.
'
type: array
items:
$ref: '#/components/schemas/_reference'
WorkloadPlacementRecommendationResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/WorkloadPlacementRecommendation'
_referenceWritable:
allOf:
- $ref: '#/components/schemas/_referenceWithoutType'
- type: object
properties:
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values are `hosts`, `host-groups`, `network-interfaces`, `pods`,
`ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`,
`volume-groups`, `directories`, `policies/nfs`, `policies/smb`, `policies/snapshot`, etc.
'
type: string
x-aliases:
- _reference
_workloadPlacementRecommendationTarget:
description: 'Data for a target in a workload placement recommendation.
Target is a FlashArray, which may be used for workload placement.
'
allOf:
- $ref: '#/components/schemas/_referenceWithType'
- type: object
properties:
capacity:
description: 'The usable capacity of the target, measured in bytes.
'
type: integer
format: int64
example: 10995116277760
capacity_used_projections:
$ref: '#/components/schemas/_workloadPlacementRecommendationTargetCapacityUsedProjections'
load_projections:
$ref: '#/components/schemas/_workloadPlacementRecommendationTargetLoadProjections'
model:
description: 'The model of the target.
For example, `FA-X20R2`.
'
type: string
warnings:
description: 'The warnings for the target.
'
type: array
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationWarning'
_workloadPreset:
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithType'
- type: object
properties:
revision:
description: 'The revision of the preset from which the workload was deployed.
'
type: integer
format: int64
readOnly: true
_workloadPlacementRecommendationAdditionalConstraints:
description: 'The list of targets considered for workload placement must
satisfy the requirements imposed by the preset. It is
also possible to specify additional constraints to further restrict the
list of targets for consideration.
'
type: object
properties:
required_resource_references:
description: 'Defines a group of resources. At least one resource from each item
should be present on this target for the target to be considered an
acceptable candidate for workload placement
'
type: array
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationResourceReference'
targets:
description: 'If specified, only consider these targets when computing placement
recommendations. If not specified, the whole fleet is used to
compute the recommendation.
'
type: array
items:
$ref: '#/components/schemas/_referenceWithType'
WorkloadGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfoWithoutTotalItemCountResponse'
- $ref: '#/components/schemas/WorkloadResponse'
- $ref: '#/components/schemas/_errorContextResponse'
_errorcontextresponseErrors:
type: object
properties:
context:
description: 'Contains information relating to the cause of this error,
or the name of the object that was being processed when the error was encountered.
This may be `null` for more general errors.
'
type: string
location_context:
description: 'Contains information relating to the context in which the request was executing
when the error occurred.
For example, this may be the name of an array in the same fleet.
This may be `null` for more general errors, or if no explicit `context` parameter
was provided with the request.
'
title: FixedReferenceWithType
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithType'
message:
description: A description of the error which occurred.
type: string
example: Resource does not exist.
x-aliases:
- _errorContextResponseErrors
_workloadPlacementRecommendationGenericTarget:
allOf:
- $ref: '#/components/schemas/_referenceWithType'
- description: 'The data for a target in a workload placement recommendation.
The target is an array that may be used for workload placement.
'
type: object
properties:
capacity:
description: 'The usable capacity of the target, measured in bytes.
'
type: integer
format: int64
example: 10995116277760
capacity_used_projections:
$ref: '#/components/schemas/_workloadPlacementRecommendationTargetCapacityUsedProjections'
load_projections:
$ref: '#/components/schemas/_workloadPlacementRecommendationTargetLoadProjections'
model:
description: 'The model of the target.
For example, `FA-X20R2`.
'
type: string
periodic_replication_configurations:
description: 'The preset periodic replication configurations supported by the array.
'
type: array
items:
type: string
placement_configurations:
description: 'The preset placement configurations supported by the array.
'
type: array
items:
type: string
warnings:
description: 'The warnings for the target.
'
type: array
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationWarning'
_workloadPlacementRecommendationResourceReference:
description: 'Defines a group of resources. At least one of them should be present
on this target to use it for computation of a recommendation.
Currently only hosts or host groups could be used.
'
type: object
required:
- allowed_values
properties:
allowed_values:
description: 'A list of allowed values for the resource reference.
For hosts and host groups, each item does not define a specific object on
some target, but defines a pattern which should be matched by the target.
For example, { `type`: `host`, `name`: `host1` } will match all targets
that have a host with name `host1`.
'
type: array
items:
$ref: '#/components/schemas/_referenceWithType'
TagGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/TagResponse'
- $ref: '#/components/schemas/_errorContextResponse'
_workloadPlacementRecommendationGenericTarget_2:
allOf:
- $ref: '#/components/schemas/_referenceWritable'
- description: 'Data for a target in a workload placement recommendation.
Target is a array, which may be used for workload placement.
'
type: object
properties:
capacity:
description: 'The usable capacity of the target, measured in bytes.
'
type: integer
format: int64
example: 10995116277760
capacity_used_projections:
$ref: '#/components/schemas/_workloadPlacementRecommendationTargetCapacityUsedProjections'
load_projections:
$ref: '#/components/schemas/_workloadPlacementRecommendationTargetLoadProjections'
model:
description: 'The model of the target.
For example, `FA-X20R2`.
'
type: string
periodic_replication_configurations:
description: 'The preset periodic replication configurations in which this array should be used.
'
type: array
items:
type: string
placement_configurations:
description: 'The preset placement configurations in which this array should be used.
'
type: array
items:
type: string
warnings:
description: 'The warnings for the target.
'
type: array
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationWarning'
_errorContextResponse_2:
type: object
properties:
errors:
description: The list of errors encountered when attempting to perform an operation.
type: array
readOnly: true
items:
$ref: '#/components/schemas/_errorContextResponseErrors'
TagResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Tag'
_workloadPlacementRecommendationPlacement:
description: Placement data in the recommendation result.
type: object
properties:
name:
description: 'The name of the placement.
'
type: string
targets:
description: 'The targets for the placement.
'
type: array
items:
$ref: '#/components/schemas/_workloadPlacementRecommendationTarget'
WorkloadPost:
type: object
properties:
p
# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-workloads-api-openapi.yml