Search Knowledge Base by Keyword

Everpure

< Back

Overview

Pure Storage FlashArray is an all-flash block and file storage array. Each array runs the Purity//FA operating environment and presents a REST API on its management endpoint. The 2.x REST interface is token based: you hold a long-lived API token tied to a Purity user account, POST it to the login endpoint, and receive a short-lived session token that is then sent on every subsequent request. The collections underneath describe the array itself, its controllers and drives, the physical hardware tree, the volumes it serves and the host groups those volumes are presented to.

The ReadyWorks connector implements exactly that exchange. Both authentication methods post to an API token endpoint (the default is /api/2.26/login) with an api-token header, read the x-auth-token value out of the response headers, and replay it as x-auth-token on every data call. Each shipped job is a GET against a versioned resource path under /api/2.26/, and the JSON lands in a pure_get_* staging table.

In the estate this gives you the block storage layer. Array, controller, drive and hardware inventory carries the serial numbers and component detail needed for support entitlement and refresh planning. Volume and host-group data shows which hosts are presented which storage, so before you move, rebuild or retire a server you can see what it depends on and what else shares the same group. The alerts job gives a near real-time view of array health alongside the rest of the estate rather than only inside the Purity UI.

The connector is declared bidirectional and the outbound job form is enabled, but no outbound templates ship. As delivered it reads from FlashArray and writes nothing back.

NOTE: The connector id is PURE STORAGE and the help link, template names and staging tables all say Pure Storage, but the display name shown in the connector picker is Everpure and the description reads “Connect to the Everpure (formerly Pure Storage) FlashArray REST API”. Pure Storage has not been renamed to Everpure. Look for Everpure in the picker if you cannot find Pure Storage.

NOTE: Every template pins the REST version into the path as /api/2.26/. Confirm your Purity release serves that version before enabling jobs, and edit the API End Point on each job if it does not.

Connector Properties

Property Value
Identifier PURE STORAGE
Name Everpure
Description Connect to the Everpure (formerly Pure Storage) FlashArray REST API
Job Types Both Inbound and Outbound
Order 160
Enabled Yes
Locked Yes
Block Update No
Single Authentication No
Windows Only No
Connector Version 2025-11-18
Hooks None
Additional Job Fields None
Image

Authentication Methods

Two authentication methods ship, both of them API token exchanges handled by the same driver. They differ only in where the API token comes from.

Method Identifier Base Method Script Order Enabled Config Fields
API Token Header Authentication From Enumeration PURE STORAGE_92efee2bcd PURE STORAGE_92efee2bcd json_rest_api.php 30 Yes 3
API Token Header Authentication PURE STORAGE_token_head JSON Rest API_token_head json_rest_api.php 30 Yes 6

NOTE: Both methods are flagged as the default and both sit at display order 30, so which one a new connection pre-selects is not determined by the metadata. Check which method is selected before saving a new connection.

NOTE: In both recipes the >GetHeader entry is a directive to the driver rather than a header sent to the array. It names the response header (x-auth-token) whose value is captured and then made available as %auth_data% on the data calls.

Method 1: API Token Header Authentication From Enumeration (PURE STORAGE_92efee2bcd)

API Token Header Authentication From Enumeration

A variant intended to take the array’s API token from an enumeration value at run time (%enum_auth_token%) rather than from a field stored on the connection, so that one connection could walk several arrays in turn. Nothing in the shipped metadata supplies that value: the method exposes no API Token field, and none of the nine templates configures an enumeration. Do not select this method unless you have built the enumeration that feeds it.

Connection Configuration Fields (3)

Order Label Type Required Default Max Len Tooltip
10 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
10 API Domain text Yes 255 Enter API domain of the Connection
190 API Token Post End Point text No 500 Tooltip for Authentication End Point

Authentication Configuration

Headers sent on the authentication call:

Header Value Base64
Content-Type: application/json Off
>GetHeader x-auth-token Off
api-token: %enum_auth_token% Off

Headers sent on the data calls:

Header Value Base64
Content-Type: application/json Off
x-auth-token: %auth_data% Off

cURL options:

Option Authentication Call Data Calls
USERAGENT Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Same
SSL_VERIFYHOST false Same
SSL_VERIFYPEER false Same
RETURNTRANSFER true Same
FOLLOWLOCATION true Same
FAILONERROR true Same
POST true Same

NOTE: This method sets the cURL POST option on the data calls as well as the authentication call, while every shipped template uses method type GET.

Method 2: API Token Header Authentication (PURE STORAGE_token_head)

API Token Header Authentication

The method to use. You store the FlashArray API token on the connection, and the connector posts it in an api-token header to the API Token Post End Point (default /api/2.26/login), captures the returned x-auth-token session token and sends that on every data call. Generate the API token against a dedicated Purity user with a read-only role. This method also exposes the Single Authentication switch, which controls whether the login is repeated on each pagination or enumeration loop.

Connection Configuration Fields (6)

Order Label Type Required Default Max Len Tooltip
10 API Domain text Yes 255 Enter API domain of the Connection
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
60 API Token password No 64000 Enter API token of the Connection
190 API Token Post End Point text No /api/2.26/login 500 Enter API end point to request an auth-token
240 Single Authentication radio Yes 0 Choose if authentication is only to be done once and not on each enumeration or pagination loop
250 Additional Job Fields fields_list No Enter list of additional fields to add to staging data for all jobs

Authentication Configuration

Headers sent on the authentication call:

Header Value Base64
Content-Type: application/json Off
>GetHeader x-auth-token Off
api-token: %auth_value_1% Off

Headers sent on the data calls:

Header Value Base64
Content-Type: application/json Off
x-auth-token: %auth_data% Off

cURL options:

Option Authentication Call Data Calls
USERAGENT Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Same
SSL_VERIFYHOST false Same
SSL_VERIFYPEER false Same
RETURNTRANSFER true Same
FOLLOWLOCATION true Same
FAILONERROR true Same
POST true Not set

Inbound Job Fields Enabled (44)

The inbound job form exposes the standard REST job fields: endpoint, return data node, pagination, three levels of enumeration, and the staging table the response lands in.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
20 Job Schedule lookup Yes Daily Select frequency Job should run
30 Enabled radio Yes Yes Choose if Job is enabled
40 Use Unparsed Data radio No No Choose if you wish to parse the incoming data, or leave it in its raw format
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
70 Destination Table text Yes Enter name of the destination table
80 Data Identity text No Enter identity of the Job
120 Append New Data to Existing Tables radio No No Choose if new data will append to the existing destination table, or will create a new destination table
130 Fields to Index text No Enter fields to index
170 Method Type select Yes GET Select method type of the Job
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
220 Raw JSON Body Data textarea No Enter the raw JSON body to send. Do not use body selections in the API Parameters if this is used.
230 API Return Data Node text No Enter API return data node of the Job
250 Pagination Type select No None Select request paging type of the Job
270 API Pagination Node text No Enter API pagination node of the Job
280 Pagination Offset Start text No Enter request paging offset start of the Job
290 Request Limit text No Enter request limit of the Job
300 Pagination Termination Node text No Enter request paging termination node and value of the Job
310 Maximum API Calls text No Enter maximum number of API calls for the Job to make
320 Enumeration 1 Type select No None Enter enumeration level 1 type
330 Enumeration 1 ETL Job lookup No Select ETL job for the enumeration values
340 Enumeration 1 Data Type data_type No Select the data type and fields for enumeration 1 values
350 Enumeration 1 Keys End Point text No Enter enumeration 1 keys end point of the Job
360 Enumeration 1 Node text No Enter enumeration 1 node of the Job
370 Enumeration 1 Fields fields_list No Enter enumeration 1 fields of the Job
380 Enumeration 2 Type select No None Enter enumeration level 2 type
390 Enumeration 2 ETL Job lookup No Select ETL job for the enumeration 2 values
400 Enumeration 2 Data Type data_type No Select the data type and fields for enumeration 2 values
410 Enumeration 2 Keys End Point text No Enter enumeration 2 keys end point of the Job
420 Enumeration 2 Node text No Enter enumeration 2 node of the Job
430 Enumeration 2 Fields fields_list No Enter enumeration 2 fields of the Job
440 Enumeration 3 Type select No None Enter enumeration level 3 type
450 Enumeration 3 ETL Job lookup No Select ETL job for the enumeration 3 values
460 Enumeration 3 Data Type data_type No Select the data type and fields for enumeration 3 values
470 Enumeration 3 Keys End Point text No Enter enumeration 3 keys end point of the Job
480 Enumeration 3 Node text No Enter enumeration 3 node of the Job
490 Enumeration 3 Fields fields_list No Enter enumeration 3 fields of the Job
500 Pause Enumeration text No Enter values for pausing enumeration every X calls for Y seconds
510 Kill Enumeration on Error radio No No Choose to stop the enumeration loop on an error or continue processing the loop
520 Additional Fields fields_list No Enter list of additional fields to add to staging data
550 Retry Pause text No Enter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560 Order text Yes Enter order of the Job

Outbound Job Fields Enabled (13)

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
30 Enabled radio Yes Yes Choose if Job is enabled
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
170 Method Type select Yes GET Select method type of the Job
180 Data Sending Method select Yes JSON Encoded Data Select method for sending the outbound data
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
260 Return Data Fields List fields_list Yes Enter return data fields of the Job
530 Outbound Fields List fields_list Yes Enter outbound fields of the Job
540 Ignore Empty Outbound Fields radio No Yes Ignore, and do not include, any outbound fields that are empty and have no data
550 Raw JSON Outbound Template textarea No Enter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields.
560 Order text Yes Enter order of the Job

Inbound Job Templates (9)

Nine inbound templates ship, eight of them mapped to FlashArray REST collections and one blank scaffold. Two are active by default (GET Pure Arrays hourly and GET Pure Alerts every five minutes); the rest ship disabled on a Daily schedule. None sets a return data node and none sets pagination.

# Job Description Destination Table API End Point Enabled What It Pulls
1 GET Pure Arrays pure_get_arrays /api/2.26/arrays Yes The array’s own record: array name and id, the Purity release it is running, model, total capacity and current space consumption. One row per array, and the anchor every other table joins back to.
2 GET Pure Alerts pure_get_array_alerts /api/2.26/alerts Yes Alerts raised by the array, with severity, the component that raised them, current state and the timestamps for when they opened and closed. Scheduled every five minutes so array health surfaces quickly.
3 GET Pure Controllers pure_get_controllers /api/2.26/controllers No The controllers in the array chassis, with model, the mode each is running in (primary or secondary), status and Purity version. Use it to confirm both controllers are healthy and on matching code before any maintenance.
4 GET Pure Drives pure_get_drives /api/2.26/drives No Every flash module and NVRAM device by bay position, with device type, capacity and status. This is the drive-level view behind the array’s capacity figures and the source for tracking individual module failures.
5 GET Pure Hardware pure_get_hardware /api/2.26/hardware No The physical component tree: chassis, expansion shelves, bays, ports, temperature and power components, each with its slot identifier and health. Broader than the drives job and the right place to look for a named physical component.
6 GET Pure Host Groups pure_get_host_groups /api/2.26/host-groups No Host groups, the named sets of hosts that volumes are presented to, with their membership and connection counts. This is the link between a server in the estate and the storage it is entitled to see.
7 GET Pure Port Initiators pure_get_port_initiators /api/2.26/arrays No Named for the array’s port and initiator relationships, but the endpoint configured on this template is /api/2.26/arrays, the same call GET Pure Arrays makes. As shipped it stages the array record into pure_get_port_initiators, not port or initiator data.
8 GET Pure Volumes pure_get_volumes /api/2.26/volumes No Every provisioned volume on the array, with name, serial, provisioned size, space actually consumed, and whether the volume has been destroyed and is pending eradication.
9 Pure Storage API Call pure Not set No A blank scaffold with no endpoint set, writing to a generic pure table. Copy it when you need a FlashArray collection that has no shipped template of its own.

Job Template Configuration

Settings Common to All Nine Templates

Setting Value
Order 10
Allow Empty Table Yes
Append Files to Same Destination Table No
Use Unparsed Data No
Convert UUID-Keyed Objects to Rows No
Ignore XML Attributes No
Log Raw API Calls No
Method Type GET
Body Data Sending Method JSON Encoded Data

Settings That Vary by Template

Template ID Enabled Job Schedule Destination Table Data Identity API End Point Append New Data to Existing Tables
GET Pure Arrays 157 Yes Hourly (0 * * * *) pure_get_arrays pure_get_arrays /api/2.26/arrays Yes
GET Pure Alerts 158 Yes Every 5 Minutes (*/5 * * * *) pure_get_array_alerts pure_get_array_alerts /api/2.26/alerts Yes
GET Pure Controllers 159 No Daily (15 1 * * *) pure_get_controllers pure_get_controllers /api/2.26/controllers Yes
GET Pure Drives 160 No Daily (15 1 * * *) pure_get_drives pure_get_drives /api/2.26/drives Yes
GET Pure Hardware 161 No Daily (15 1 * * *) pure_get_hardware pure_get_hardware /api/2.26/hardware Yes
GET Pure Host Groups 162 No Daily (15 1 * * *) pure_get_host_groups pure_get_host_groups /api/2.26/host-groups Yes
GET Pure Port Initiators 163 No Daily (15 1 * * *) pure_get_port_initiators pure_get_port_initiators /api/2.26/arrays Yes
GET Pure Volumes 164 No Daily (15 1 * * *) pure_get_volumes pure_get_volumes /api/2.26/volumes Yes
Pure Storage API Call 165 No Daily (15 1 * * *) pure pure Not set No

Job Parameters and Enumeration

GET Pure Arrays

Additional staging fields:

Key Value
Array Name gso-e3-px90-p01

GET Pure Alerts

Additional staging fields:

Key Value
Array Name gso-e3-px90-p01

GET Pure Controllers

Additional staging fields:

Key Value
Array Name gso-e3-px90-p01

GET Pure Drives

Additional staging fields:

Key Value
Array Name gso-e3-px90-p01

GET Pure Hardware

Additional staging fields:

Key Value
Array Name gso-e3-px90-p01

GET Pure Host Groups

Additional staging fields:

Key Value
Array Name gso-e3-px90-p01

GET Pure Port Initiators

Additional staging fields:

Key Value
Array Name gso-e3-px90-p01

GET Pure Volumes

Additional staging fields:

Key Value
Array Name gso-e3-px90-p01

NOTE: All eight resource templates carry an Additional Fields entry that stamps a literal Array Name of gso-e3-px90-p01 onto every staged row. That is a value left in the shipped metadata, not your array. Change or remove it on every job before you enable it.

Outbound Job Templates (0)

No outbound templates ship with this connector. The outbound job form is enabled, so you can author your own, but nothing is written back to the array by default.