Pure Storage API Clients API

An API client represents an identity type. API clients are created on the array. To create an API client, register and then enable it on the array. After the API client has been created, the user name (`sub`) and identity tokens (`kid` and `aud` tokens) that are issued by the API client are used as claims for the JSON Web Token that you create to authenticate into the REST API.

Operations 8

GET /api/2.52/api-clients Pure Storage List API Clients
POST /api/2.52/api-clients Pure Storage Create an API Client
DELETE /api/2.52/api-clients Pure Storage Delete an API Client
PATCH /api/2.52/api-clients Pure Storage Manage an API Client
GET /api/2.26/api-clients Pure Storage GET Api-clients
POST /api/2.26/api-clients Pure Storage POST Api-clients
DELETE /api/2.26/api-clients Pure Storage DELETE Api-clients
PATCH /api/2.26/api-clients Pure Storage PATCH Api-clients

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-api-clients-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-api-clients-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FlashArray REST Active Directory API Clients 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: API Clients
  description: 'An API client represents an identity type. API clients are created on the array.

    To create an API client, register and then enable it on the array.

    After the API client has been created, the user name (`sub`) and identity tokens (`kid` and

    `aud` tokens) that are issued by the API client are used as claims for the JSON Web Token

    that you create to authenticate into the REST API.

    '
paths:
  /api/2.52/api-clients:
    get:
      tags:
      - API Clients
      summary: Pure Storage List API Clients
      description: 'Displays a list of API clients.


        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $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'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiClientGetResponse'
    post:
      tags:
      - API Clients
      summary: Pure Storage Create an API Client
      description: 'Creates an API client. Newly created API clients are disabled by default.

        Enable an API client through the `PATCH` method.

        The `names`, `issuer`, and `public_key` parameters are required.

        The `access_policies` or `max_role` parameter is required, but they cannot be set together.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiClientPost'
        required: true
        x-codegen-request-body-name: API clients
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiClientResponse'
      x-codegen-request-body-name: API clients
    delete:
      tags:
      - API Clients
      summary: Pure Storage Delete an API Client
      description: 'Deletes an API client.

        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/Ids'
      - $ref: '#/components/parameters/Names'
      responses:
        '200':
          description: OK
          content: {}
    patch:
      tags:
      - API Clients
      summary: Pure Storage Manage an API Client
      description: 'Enables or disables an API client.

        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/Ids'
      - $ref: '#/components/parameters/Names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiClientPatch'
        required: true
        x-codegen-request-body-name: API clients
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiClientResponse'
      x-codegen-request-body-name: API clients
  /api/2.26/api-clients:
    get:
      tags:
      - API Clients
      summary: Pure Storage GET Api-clients
      description: List an API client and its configuration attributes.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Continuation_token'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids_2'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset_2'
      - $ref: '#/components/parameters/Sort_2'
      responses:
        '200':
          description: 'Returns a list of API clients.

            '
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiClientsResponse'
    post:
      tags:
      - API Clients
      summary: Pure Storage POST Api-clients
      description: Create an API client to authorize Access Token or Bearer Tokens for use on the array. Required fields include `issuer`, `public_key`, and `access_token_ttl_in_ms`. After creating an API client, it can only be enabled by an authorized user.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiClientsPost'
        required: true
        x-codegen-request-body-name: api-client
      responses:
        '200':
          description: 'Returns the new api-clients. All new api-clients are disabled.

            An authorized party must patch the api-clients to be enabled, which signifies

            the api-clients are now trusted and authorized to issue id tokens for this

            array.

            '
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiClientsResponse'
      x-codegen-request-body-name: api-client
    delete:
      tags:
      - API Clients
      summary: Pure Storage DELETE Api-clients
      description: Delete the API client.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Ids_2'
      - $ref: '#/components/parameters/Names'
      responses:
        '200':
          description: 'OK

            '
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content: {}
    patch:
      tags:
      - API Clients
      summary: Pure Storage PATCH Api-clients
      description: Modify an API client. Newly created API clients can be enabled by setting the `enabled` parameter to `true`.
      parameters:
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Ids_2'
      - $ref: '#/components/parameters/Names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiClient_2'
        required: true
        x-codegen-request-body-name: api-clients
      responses:
        '200':
          description: Returns the patched api-clients.
          headers:
            X-Request-ID:
              description: Supplied by client during request or generated by server.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiClientsResponse'
      x-codegen-request-body-name: api-clients
components:
  schemas:
    _fixedReference_2:
      allOf:
      - $ref: '#/components/schemas/_fixedReferenceWithoutType'
      - type: object
        properties:
          resource_type:
            description: 'Type of the object (full name of the endpoint).

              Valid values are the unique part of the resource''s REST endpoint.

              For example, a reference to a file system would have a

              `resource_type` of `file-systems`.

              '
            type: string
            readOnly: true
    _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
    _fixedReferenceWithoutType:
      type: object
      properties:
        id:
          description: 'A globally unique, system-generated ID.

            The ID cannot be modified.

            '
          type: string
          readOnly: true
        name:
          description: 'The resource name, such as volume name, file system name,

            snapshot name, and so on.

            '
          type: string
          readOnly: true
      x-readOnly: true
    ApiClient:
      type: object
      properties:
        access_policies:
          description: 'The access policies allowed for ID Tokens issued by this API client.

            The bearer of an access token will be authorized to perform actions

            within the intersection of these policies and those of the array

            user specified as the JWT `sub` (subject) claim.

            '
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/_fixedReferenceWithType'
        access_token_ttl_in_ms:
          description: 'The requested TTL (Time To Live) length of time for the exchanged access token,

            measured in milliseconds.

            '
          type: integer
          format: int64
          readOnly: true
          example: 15000
          x-minimum: 1000
          x-maximum: 86400000
        enabled:
          description: 'If `true`, the API client is permitted to exchange ID Tokens for access tokens.

            API clients are disabled by default.

            '
          type: boolean
          readOnly: true
          example: true
        id:
          description: 'The unique identifier for the associated API client.

            The ID represents the JWT `aud` (audience) claim in ID Tokens issued for this API client.

            '
          type: string
          readOnly: true
          example: 6207d123-d123-0b5c-5fa1-95fabc5c7123
        issuer:
          description: 'The name of the identity provider that will be issuing ID Tokens for this API client.

            This string represents the JWT `iss` (issuer) claim in ID Tokens issued for this API client.

            '
          type: string
          readOnly: true
          example: https://purestorage.idp.okta.com
        key_id:
          description: 'The unique identifier for the associated public key of this API client.

            This string must match the JWT `kid` (key ID) claim in ID Tokens issued for this API client.

            '
          type: string
          readOnly: true
          example: 6207d123-d123-0b5c-5fa1-95fabc5c7123
        max_role:
          description: 'This field has been deprecated.

            The maximum Admin Access Policy (previously ''role'') allowed for ID

            Tokens issued by this API client. The bearer of an access token will be

            authorized to perform actions within the intersection of this policy and

            that of the array user specified as the JWT `sub` (subject) claim.

            `max_role` is deprecated in favor of `access_policies`, but remains for backwards

            compatibility. If a client has exactly one access policy which corresponds to a

            valid legacy role of the same name, `max_role` will be the name of that policy.

            Otherwise, it will be null.

            '
          type: string
          readOnly: true
          example: storage_admin
        name:
          description: 'The API client name.

            '
          type: string
          readOnly: true
          example: NightlyStatsAggregationScript
        public_key:
          description: 'The API client''s PEM formatted (Base64 encoded) RSA public key.

            '
          type: string
          readOnly: true
          example: '-----BEGIN PUBLIC KEY-----

            MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArSe6chh1JzME9svOKjU0

            eKTm8S23Ok3Vr2bWuPri/YHfLrlnRwWoCt+st0/BebKSJ+fQUWOaLlqpZQKpI8oR

            gJ9sWmwGibVG8cTuz7XMkskx9bsm/bjIenuB4W+s3g0BCsi9930mfdKgJgFzY69O

            nLh7d7hAFcmhSJa945PryQZpvJ/U4Ue5F4d+WXgEJ0SoSRaZ6bbeMPhcbMHTzTum

            2ZrPBkK5cqPYitaso6BXeAlqNQPw4Kbu4Ugm0CTogrtImkwoonWDDP34XMOq+u7q

            sNTbJSvDKMTM1RPPrTWCaLiuZkdLVEVesZ9/8+XUMIgBTElwQJDCAQer03MJzqRr

            1eCZGgLfDuYqwMG2MFaAX7kgqBwwyqRTd6MxaQxt2nkdfwiXSY71llzEQ23g3T+1

            64zjwAL5f+dtu8PkGF7IdU2T8P2Qk9bG9pckwZHWYkBK77BAk5jbmSzsKGZgRb2R

            1E+TWDKIaveFhQp251j/C5wkZwMXgjOzN+BOPo+OiLBGUl+jRybWA9f7Vq1MEdf6

            SEdLiqYrXcZERkYBMieLXAfdtaztAIb96cUu+OKMSLDk+D0GHkUfm7lEbDK3ew1+

            D6z+BnxDyH6oqZzz4lS2kPLBLsc+6pdTGuKLf0S9YuLiqJe659AdwU8+X/3KtwNd

            FVJSaxdFbWx0nj3hJqFkIO8CAwEAAQ==

            -----END PUBLIC KEY-----

            '
      x-readOnly: true
    ApiClientPost:
      type: object
      properties:
        access_policies:
          description: 'The access policies allowed for ID Tokens issued by this API client.

            The bearer of an access token will be authorized to perform actions

            within the intersection of these policies and those of the array

            user specified as the JWT `sub` (subject) claim.

            '
          type: array
          items:
            $ref: '#/components/schemas/_referenceWithType'
        access_token_ttl_in_ms:
          description: 'The TTL (Time To Live) length of time for the exchanged access token.

            Measured in milliseconds. If not specified, defaults to `86400000`.

            '
          type: integer
          format: int64
          example: 15000
          x-minimum: 1000
          x-maximum: 86400000
        issuer:
          description: 'The name of the identity provider that will be issuing ID Tokens for this API client.

            The `iss` claim in the JWT issued must match this string.

            If not specified, defaults to the API client name.

            '
          type: string
          example: https://purestorage.idp.okta.com
        max_role:
          description: 'Deprecated. The maximum Admin Access Policy (previously ''role'') allowed for ID

            Tokens issued by this API client. The bearer of an access token will be

            authorized to perform actions within the intersection of this policy and

            that of the array user specified as the JWT `sub` (subject) claim.

            `max_role` is deprecated in favor of `access_policies`, but remains for backwards

            compatibility. If `max_role` is the name of a valid legacy role, it will be

            interpreted as the corresponding access policy of the same name.

            Otherwise, it''s invalid.

            '
          type: string
          example: storage_admin
        public_key:
          description: 'The API client''s PEM formatted (Base64 encoded) RSA public key.

            Include the `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----` lines.

            '
          type: string
          example: '-----BEGIN PUBLIC KEY-----

            MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArSe6chh1JzME9svOKjU0

            eKTm8S23Ok3Vr2bWuPri/YHfLrlnRwWoCt+st0/BebKSJ+fQUWOaLlqpZQKpI8oR

            gJ9sWmwGibVG8cTuz7XMkskx9bsm/bjIenuB4W+s3g0BCsi9930mfdKgJgFzY69O

            nLh7d7hAFcmhSJa945PryQZpvJ/U4Ue5F4d+WXgEJ0SoSRaZ6bbeMPhcbMHTzTum

            2ZrPBkK5cqPYitaso6BXeAlqNQPw4Kbu4Ugm0CTogrtImkwoonWDDP34XMOq+u7q

            sNTbJSvDKMTM1RPPrTWCaLiuZkdLVEVesZ9/8+XUMIgBTElwQJDCAQer03MJzqRr

            1eCZGgLfDuYqwMG2MFaAX7kgqBwwyqRTd6MxaQxt2nkdfwiXSY71llzEQ23g3T+1

            64zjwAL5f+dtu8PkGF7IdU2T8P2Qk9bG9pckwZHWYkBK77BAk5jbmSzsKGZgRb2R

            1E+TWDKIaveFhQp251j/C5wkZwMXgjOzN+BOPo+OiLBGUl+jRybWA9f7Vq1MEdf6

            SEdLiqYrXcZERkYBMieLXAfdtaztAIb96cUu+OKMSLDk+D0GHkUfm7lEbDK3ew1+

            D6z+BnxDyH6oqZzz4lS2kPLBLsc+6pdTGuKLf0S9YuLiqJe659AdwU8+X/3KtwNd

            FVJSaxdFbWx0nj3hJqFkIO8CAwEAAQ==

            -----END PUBLIC KEY-----

            '
    ApiClientPatch:
      type: object
      properties:
        enabled:
          description: 'Returns a value of `true` if the API client is permitted to exchange ID

            tokens for access tokens.

            API clients are disabled by default.

            '
          type: boolean
          example: true
    _reference:
      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
      x-aliases:
      - _referenceWithoutType
    _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
    _builtIn:
      type: object
      properties:
        id:
          description: 'A non-modifiable, globally unique ID chosen by the system.

            '
          type: string
          readOnly: true
        name:
          description: Name of the object (e.g., a file system or snapshot).
          type: string
          readOnly: true
    ApiClientsResponse:
      type: object
      properties:
        items:
          description: A list of API client objects.
          type: array
          items:
            $ref: '#/components/schemas/ApiClient_2'
    _fixedReference:
      type: object
      properties:
        id:
          description: 'A globally unique, system-generated ID.

            The ID cannot be modified.

            '
          type: string
          readOnly: true
        name:
          description: 'The resource name, such as volume name, file system name,

            snapshot name, and so on.

            '
          type: string
          readOnly: true
      x-readOnly: true
      x-aliases:
      - _fixedReferenceWithoutType
    ApiClient_2:
      allOf:
      - $ref: '#/components/schemas/_builtIn'
      - description: 'API client used for OAuth.

          '
        type: object
        properties:
          access_policies:
            description: 'The access policies allowed for ID Tokens issued by this API client.

              The bearer of an access token will be authorized to perform actions

              within the intersection of these policies and those of the array

              user specified as the JWT `sub` (subject) claim.

              '
            type: array
            items:
              $ref: '#/components/schemas/_fixedReference_2'
            readOnly: true
          access_token_ttl_in_ms:
            description: 'The TTL (Time To Live) duration for which the exchanged access token is valid.

              Measured in milliseconds.

              '
            type: integer
            format: int64
            readOnly: true
            example: 15000
            x-minimum: 1000
            x-maximum: 86400000
          enabled:
            description: 'If `true`, the API client is permitted to exchange ID Tokens for access tokens.

              API clients are disabled by default.

              '
            type: boolean
            example: true
          issuer:
            description: 'The name of the identity provider that will be issuing ID Tokens for this API client.

              This string represents the JWT `iss` (issuer) claim in ID Tokens issued for this API client.

              '
            type: string
            readOnly: true
            example: http://purestorage.idp.okta.com
          key_id:
            description: 'The unique identifier for the associated public key of this API client.

              This string must match the JWT `kid` (key ID) claim in ID Tokens issued for this API client.

              '
            type: string
            readOnly: true
            example: 6207d123-d123-0b5c-5fa1-95fabc5c7123
          max_role:
            description: 'Deprecated. The maximum Admin Access Policy (previously ''role'') allowed for ID

              Tokens issued by this API client. The bearer of an access token will be

              authorized to perform actions within the intersection of this policy and

              that of the array user specified as the JWT `sub` (subject) claim.

              `max_role` is deprecated in favor of `access_policies`, but remains for backwards

              compatibility. If a client has exactly one access policy which corresponds to a

              valid legacy role of the same name, `max_role` will be a reference to that role.

              Otherwise, it will be `null`.

              '
            title: FixedReference
            allOf:
            - $ref: '#/components/schemas/_fixedReference_2'
          public_key:
            description: 'The API client''s PEM formatted (Base64 encoded) RSA public key.

              '
            type: string
            readOnly: true
            example: '-----BEGIN PUBLIC KEY-----

              MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArSe6chh1JzME9svOKjU0

              eKTm8S23Ok3Vr2bWuPri/YHfLrlnRwWoCt+st0/BebKSJ+fQUWOaLlqpZQKpI8oR

              gJ9sWmwGibVG8cTuz7XMkskx9bsm/bjIenuB4W+s3g0BCsi9930mfdKgJgFzY69O

              nLh7d7hAFcmhSJa945PryQZpvJ/U4Ue5F4d+WXgEJ0SoSRaZ6bbeMPhcbMHTzTum

              2ZrPBkK5cqPYitaso6BXeAlqNQPw4Kbu4Ugm0CTogrtImkwoonWDDP34XMOq+u7q

              sNTbJSvDKMTM1RPPrTWCaLiuZkdLVEVesZ9/8+XUMIgBTElwQJDCAQer03MJzqRr

              1eCZGgLfDuYqwMG2MFaAX7kgqBwwyqRTd6MxaQxt2nkdfwiXSY71llzEQ23g3T+1

              64zjwAL5f+dtu8PkGF7IdU2T8P2Qk9bG9pckwZHWYkBK77BAk5jbmSzsKGZgRb2R

              1E+TWDKIaveFhQp251j/C5wkZwMXgjOzN+BOPo+OiLBGUl+jRybWA9f7Vq1MEdf6

              SEdLiqYrXcZERkYBMieLXAfdtaztAIb96cUu+OKMSLDk+D0GHkUfm7lEbDK3ew1+

              D6z+BnxDyH6oqZzz4lS2kPLBLsc+6pdTGuKLf0S9YuLiqJe659AdwU8+X/3KtwNd

              FVJSaxdFbWx0nj3hJqFkIO8CAwEAAQ==

              -----END PUBLIC KEY-----

              '
    ApiClientsPost:
      type: object
      required:
      - public_key
      properties:
        access_policies:
          description: 'The access policies allowed for ID Tokens issued by this API client.

            The bearer of an access token will be authorized to perform actions

            within the intersection of these policies and those of the array

            user specified as the JWT `sub` (subject) claim.

            '
          type: array
          items:
            $ref: '#/components/schemas/_referenceWritable'
        access_token_ttl_in_ms:
          description: 'The TTL (Time To Live) duration for which the exchanged access token is valid.

            Measured in milliseconds. If not specified, defaults to `86400000`.

            '
          type: integer
          format: int64
          example: 15000
          x-minimum: 1000
          x-maximum: 86400000
        issuer:
          description: 'The name of the identity provider that will be issuing ID Tokens for this API client.

            The `iss` claim in the JWT issued must match this string.

            If not specified, defaults to the API client name.

            '
          type: string
          example: https://purestorage.idp.okta.com
        max_role:
          description: 'Deprecated. The maximum Admin Access Policy (previously ''role'') allowed for ID

            Tokens issued by this API client. The bearer of an access token will be

            authorized to perform actions within the intersection of this policy and

            that of the array user specified as the JWT `sub` (subject) claim.

            `max_role` is deprecated in favor of `access_policies`, but remains for backwards

            compatibility. If a client has exactly one access policy which corresponds to a

            valid legacy role of the same name, `max_role` will be a reference to that role.

            Otherwise, it will be `null`.

            '
          title: ReferenceWritable
          allOf:
          - $ref: '#/components/schemas/_referenceWritable'
        public_key:
          description: 'The API client''s PEM formatted (Base64 encoded) RSA public key.

            It must include the `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----` lines.

            '
          type: string
          example: '-----BEGIN PUBLIC KEY-----

            MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArSe6chh1JzME9svOKjU0

            eKTm8S23Ok3Vr2bWuPri/YHfLrlnRwWoCt+st0/BebKSJ+fQUWOaLlqpZQKpI8oR

            gJ9sWmwGibVG8cTuz7XMkskx9bsm/bjIenuB4W+s3g0BCsi9930mfdKgJgFzY69O

            nLh7d7hAFcmhSJa945PryQZpvJ/U4Ue5F4d+WXgEJ0SoSRaZ6bbeMPhcbMHTzTum

            2ZrPBkK5cqPYitaso6BXeAlqNQPw4Kbu4Ugm0CTogrtImkwoonWDDP34XMOq+u7q

            sNTbJSvDKMTM1RPPrTWCaLiuZkdLVEVesZ9/8+XUMIgBTElwQJDCAQer03MJzqRr

            1eCZGgLfDuYqwMG2MFaAX7kgqBwwyqRTd6MxaQxt2nkdfwiXSY71llzEQ23g3T+1

            64zjwAL5f+dtu8PkGF7IdU2T8P2Qk9bG9pckwZHWYkBK77BAk5jbmSzsKGZgRb2R

            1E+TWDKIaveFhQp251j/C5wkZwMXgjOzN+BOPo+OiLBGUl+jRybWA9f7Vq1MEdf6

            SEdLiqYrXcZERkYBMieLXAfdtaztAIb96cUu+OKMSLDk+D0GHkUfm7lEbDK3ew1+

            D6z+BnxDyH6oqZzz4lS2kPLBLsc+6pdTGuKLf0S9YuLiqJe659AdwU8+X/3KtwNd

            FVJSaxdFbWx0nj3hJqFkIO8CAwEAAQ==

            -----END PUBLIC KEY-----

            '
    ApiClientResponse:
      type: object
      properties:
        items:
          description: 'Returns a list of all items after filtering.

            The values are displayed for each name, where meaningful.

            '
          type: array
          items:
            $ref: '#/components/schemas/ApiClient'
    ApiClientGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/ApiClientResponse'
    _fixedReferenceWithType:
      allOf:
      - $ref: '#/components/schemas/_fixedReference'
      - type: object
        properties:
          resource_type:
            description: 'Type of the object (full name of the endpoint).

              Valid values are the unique part of the resource''s REST endpoint.

              For example, a reference to a file system would have a

              `resource_type` of `file-systems`.

              '
            type: string
            readOnly: true
      x-aliases:
      - _fixedReference
    PageInfo:
      type: object
      properties:
        continuation_token:
          description: 'Continuation token that can be provided in the `continuation_token`

            query param to get the next page of data.

            If you use the continuation token to page through data you

            are guaranteed to get all items exactly once regardless of

            how items are modified. If an item is added or deleted during

            the pagination then it may or may not be returned.

            The continuation token is generated if the limit is less

            than the remaining number of items, and the default sort is used

            (no sort is specified).

            '
          type: string
        more_items_remaining:
          description: 'Returns a value of `true` if subsequent items can be retrieved.

            '
          type: boolean
          example: false
        total_item_count:
          description: 'The total number of records after applying all filter query parameters.

            The `total_item_count` will be calculated if and only if the corresponding

            query parameter `total_item_count` is set to `true`. If this query parameter

            is not set or set to `false`, a value of `null` will be returned.

            '
          type: integer
          format: int32
  parameters:
    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
    Offset:
      name: offset
      in: query
      description: 'The starting position based on the results of the query

        in relation to the full set of response objects returned.

        '
      schema:
        type: integer
        format: int32
        minimum: 0
      example: 10
    Continuation_token:
      name: continuation_token
      in: query
      description: 'A token used to retrieve the next page of data

        with some consistency guaranteed.

        The token is a Base64 encoded value.

        Set `continuation_token` to the system-generated token taken from the `x-next-token`

        header field of the response.

        A query has reached its last page when the response does not include a token.

        Pagination requires the `limit` and `continuation_token`

        query parameters.

        '
      schema:
        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
    Ids_2:
      name: ids
      in: query
      description: 'A comma-separated list of resource IDs.

        If after filtering, there is not at least one resource that matches

        each of the elements of `ids`, then an error is returned.

        This cannot be provided together with the `name` or `names` query parameters.

        '
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
    Offset_2:
      name: offset
      in: query
      description: 'The offset of the first resource to return from a collection.

        '
      schema:
        type: integer
        format: int32
        minimum: 0
      example: 10
    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 specifi

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