Search Knowledge Base by Keyword

Nutanix Prism

< Back

Overview

Nutanix Prism is the management plane for Nutanix hyperconverged infrastructure. A Nutanix deployment is a cluster of physical nodes whose local storage is pooled and presented back to virtual machines, typically running Nutanix’s own AHV hypervisor. Prism Element manages a single cluster, Prism Central manages many, and both expose a REST API on port 9440 covering clusters, the hosts inside them, virtual machines, storage containers, virtual subnets, and the categories and projects used to tag and group workloads.

This connector targets the current v4 API surface. It authenticates with HTTP Basic against the API Domain you supply (the shipped default is https://PRISM_FQDN_REPLACE:9440, which you must replace), and each job issues a GET against a versioned v4 service path such as /api/clustermgmt/v4.0/config/hosts. The v4 responses wrap their payload in a data node, which every template sets as the return data node, and the rows land in prism_* staging tables. One template still uses the older v3 projects call, because projects have no v4 equivalent in the shipped set.

For the estate, this is the Nutanix inventory backbone. Clusters, hosts and VMs let you resolve a workload to the node and cluster carrying it, storage containers give you the capacity picture behind those workloads, and categories and projects carry the tagging and ownership model Nutanix policies are written against. Together they let you scope a hardware change, a cluster upgrade or a migration wave to exactly the virtual machines and owners affected.

The connector is bidirectional. A single generic outbound template ships, a POST that sends a record key as JSON to an endpoint you configure and reads a status, message and record key back. There is no Nutanix-specific outbound action in the default catalogue, so the outbound side is a starting point rather than a working integration.

NOTE: Two Nutanix Prism connectors ship. Use this one when your Prism and AHV versions expose the v4 APIs. Use Nutanix Prism - Legacy when they only offer v3 and v2.0. The two are otherwise near-identical: same connector version, same Basic authentication form, same job fields. They differ in the API versions their templates call and in their staging table names, which lets you run both side by side during an upgrade.

Connector Properties

Property Value
Identifier NUTANIX PRISM
Name Nutanix Prism
Description An Enterprise-Grade Control Plane for Unified Hybrid Cloud Management. This connector supports AHV versions that support up to API v4
Job Types Both Inbound and Outbound
Order 40
Enabled Yes
Locked Yes
Block Update No
Single Authentication No
Windows Only No
Connector Version 2026-07-27
Hooks None
Additional Job Fields None
Image

Authentication Methods

One authentication method ships. Prism accepts HTTP Basic credentials directly on the REST API, so there is no token exchange to configure.

Method Identifier Base Method Script Order Enabled Config Fields
Username / Password NUTANIX PRISM_b3a4 JSON Rest API_user json_rest_api.php 10 Yes 5

NOTE: Certificate verification is disabled on both the authentication and data calls. Prism ships with a self-signed certificate, so this is what makes the connection work without further setup. If you have installed a CA-issued certificate on Prism, the connector still will not validate it.

NOTE: The API Domain default is the literal placeholder https://PRISM_FQDN_REPLACE:9440. Replace the host portion with your Prism Central or Prism Element FQDN. The :9440 port is correct for Prism.

Method 1: Username / Password (NUTANIX PRISM_b3a4)

Connect to a GET method API with a username / password

Sends an Authorization: Basic header built from the username and password on the connection, Base64 encoded at run time. Use a dedicated Prism account with a read-only role that can see every cluster you want inventoried; the v4 endpoints return only what the account is authorised for. Point the connection at Prism Central if you want one connection to cover all clusters.

Connection Configuration Fields (5)

Order Label Type Required Default Max Len Tooltip
10 API Domain text Yes https://PRISM_FQDN_REPLACE:9440 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)
40 Username text Yes 1024 Enter username of the Connection
50 Password password Yes 64000 Enter password of the Connection
250 Additional Job Fields fields_list No [{"key":"prism","value":"REPLACE"}] 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
Authorization: Basic %user_name%:%user_pass% On

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
CONNECTTIMEOUT 10 Same

Inbound Job Fields Enabled (45)

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
110 Append Files to Same Destination Table radio No No Choose if multiple files in the same path will append to the same destination table, or will create a new destination table for each file
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 Pagination Limit text No Enter request pagination 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 against v4 service endpoints and one against the older v3 projects call. All run Daily. Eight are active by default; GET Clusters - Enum 1 ships disabled because it exists to feed an enumeration rather than to stage data in its own right.

# Job Description Destination Table API End Point Enabled What It Pulls
1 GET Projects V3 prism_projects_v3 /api/nutanix/v3/projects/list Yes Prism Central projects from the v3 intentful API, with project name and uuid, owner, the subnets and resources allotted to each project and the quotas applied. The one v3 call in an otherwise v4 template set.
2 GET Containers prism_containers /api/clustermgmt/v4.0/config/storage-containers Yes The storage containers that back each cluster, with replication factor, compression and deduplication settings, and the capacity and usage figures behind the workloads sitting on them.
3 GET Clusters – Enum 1 prism_clusters_enum_1 /api/clustermgmt/v4.0/config/clusters No The same cluster collection as GET Clusters, shipped disabled and named as the key source for the GET Cluster Hosts enumeration. It exists to produce the list of cluster external ids that the per-cluster host job loops over.
4 GET Subnets prism_subnets /api/networking/v4.0/config/subnets Yes The virtual subnets defined on AHV, with name and external id, VLAN identifier, IP address management configuration and the cluster each belongs to.
5 GET Hosts prism_hosts /api/clustermgmt/v4.0/config/hosts Yes Every physical node under management, with host name and external id, hardware serial and block model, CPU and memory configuration, hypervisor type and version, the IPMI and controller VM addresses, and the cluster the node belongs to.
6 GET Clusters prism_clusters /api/clustermgmt/v4.0/config/clusters Yes Each Nutanix cluster Prism knows about: cluster name and external id, the AOS release it runs, node count, redundancy factor and the external and virtual IP addresses it answers on.
7 GET Categories prism_categories /api/prism/v4.0/config/categories Yes The category keys and values Nutanix uses to tag entities. This is the tagging model Prism policies and projects are written against, so it is how you translate a Nutanix policy scope into a list of workloads.
8 GET Cluster Hosts prism_cluster_hosts /api/clustermgmt/v4.0/config/clusters/%enum_id_1%/hosts Yes The hosts belonging to one named cluster, called once per cluster with the cluster’s external id substituted into the path. It is the per-cluster equivalent of GET Hosts, intended for estates where you want the host list scoped and paced cluster by cluster.
9 GET VMs prism_vms /api/vmm/v4.0/ahv/config/vms Yes Every virtual machine on AHV, with name and external id, power state, vCPU and memory allocation, attached disks and network interfaces, and the host and cluster it is running on. The largest collection in the set on most estates.

Job Template Configuration

Settings Common to All Nine Templates

Setting Value
Job Schedule Daily (15 1 * * *)
Allow Empty Table Yes
Append Files to Same Destination Table No
Append New Data to Existing Tables No
Use Unparsed Data No
Convert UUID-Keyed Objects to Rows No
Ignore XML Attributes No
Log Raw API Calls No
Body Data Sending Method JSON Encoded Data

Settings That Vary by Template

Template ID Order Enabled Destination Table Data Identity Method Type API End Point
GET Projects V3 137 30 Yes prism_projects_v3 prism_projects_v3 POST /api/nutanix/v3/projects/list
GET Containers 128 30000 Yes prism_containers prism_containers GET /api/clustermgmt/v4.0/config/storage-containers
GET Clusters – Enum 1 129 30000 No prism_clusters_enum_1 prism_clusters_enum_1 GET /api/clustermgmt/v4.0/config/clusters
GET Subnets 130 30001 Yes prism_subnets prism_subnets GET /api/networking/v4.0/config/subnets
GET Hosts 131 30002 Yes prism_hosts prism_hosts GET /api/clustermgmt/v4.0/config/hosts
GET Clusters 132 30003 Yes prism_clusters prism_clusters GET /api/clustermgmt/v4.0/config/clusters
GET Categories 136 30003 Yes prism_categories prism_categories GET /api/prism/v4.0/config/categories
GET Cluster Hosts 133 30004 Yes prism_cluster_hosts prism_cluster_hosts GET /api/clustermgmt/v4.0/config/clusters/%enum_id_1%/hosts
GET VMs 134 30005 Yes prism_vms prism_vms GET /api/vmm/v4.0/ahv/config/vms

Settings That Vary by Template (continued)

Template ID API Return Data Node Pagination Type Pagination Limit Retry Pause Pagination Offset Start Pagination Termination Node
GET Projects V3 137 entities Not set Not set Not set Not set Not set
GET Containers 128 data Pages 50 Not set 0 metadata.totalAvailableResults<=%total_root_records%
GET Clusters – Enum 1 129 data Pages 50 1,1,5 0 metadata.totalAvailableResults<=%total_root_records%
GET Subnets 130 data Not set Not set Not set Not set Not set
GET Hosts 131 data Pages 50 Not set 0 metadata.totalAvailableResults<=%total_root_records%
GET Clusters 132 data Pages 50 1,1,5 0 metadata.totalAvailableResults<=%total_root_records%
GET Categories 136 data Pages 50 1,1,5 0 metadata.totalAvailableResults<=%total_root_records%
GET Cluster Hosts 133 data Not set Not set 1,1,5 Not set Not set
GET VMs 134 data Pages 50 Not set 0 metadata.totalAvailableResults<=%total_root_records%

Settings That Vary by Template (continued)

Template ID lu__active_connection_job
GET Projects V3 137 Not set
GET Containers 128 Not set
GET Clusters – Enum 1 129 Not set
GET Subnets 130 Not set
GET Hosts 131 Not set
GET Clusters 132 Not set
GET Categories 136 Not set
GET Cluster Hosts 133 56
GET VMs 134 Not set

Job Parameters and Enumeration

GET Projects V3

API data parameters:

Key Value In Body
kind project on

GET Containers

API data parameters:

Key Value Type
page %pagination_offset% Numeric
limit 50 Numeric

GET Clusters – Enum 1

API data parameters:

Key Value Type
page %pagination_offset% Numeric
limit 50 Numeric

GET Hosts

API data parameters:

Key Value Type
page %pagination_offset% Numeric
limit 50 Numeric

GET Clusters

API data parameters:

Key Value Type
page %pagination_offset% Numeric
limit 50 Numeric

GET Categories

API data parameters:

Key Value Type
page %pagination_offset% Numeric
limit 50 Numeric

GET Cluster Hosts

Enumeration 1 fields:

Name Value
enum_id_1 extId

GET VMs

API data parameters:

Key Value Type
$page %pagination_offset% Numeric
$limit 50 Numeric

NOTE: GET Hosts and GET Cluster Hosts return the same kind of record by different routes. Enable one of them. Running both stages the host inventory twice, into prism_hosts and prism_cluster_hosts.

Outbound Job Templates (1)

One generic outbound template ships. It is a starting point for pushing a ReadyWorks record to an API, not a Nutanix action.

# Job Description Method API End Point Enabled What It Does
1 Rest POST API POST Not set Yes Posts a single field, Record Key, as a JSON body to whatever endpoint you configure, and reads a status, a message and an echoed record key back out of the response. The endpoint is empty as shipped, so it has no target until you set one.

Job Template Configuration

Settings

Setting Value
Order 10
Enabled Yes
Log Raw API Calls No
Method Type POST
Body Data Sending Method JSON Encoded Data
Data Sending Method JSON Encoded Data
Ignore Empty Outbound Fields Yes

Job Parameters and Enumeration

Rest POST API

Outbound fields list:

Label Name Type Required Pattern
Record Key record_key String on

Return data fields:

Label Name
Return Status status
Return Message message
Record Key data.record_key

NOTE: This template ships with Enabled set to Yes and an empty API End Point. Set an endpoint or disable it before binding it to a process.