Table of Contents


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

PropertyValue
IdentifierNUTANIX PRISM
NameNutanix Prism
DescriptionAn Enterprise-Grade Control Plane for Unified Hybrid Cloud Management. This connector supports AHV versions that support up to API v4
Job TypesBoth Inbound and Outbound
Order40
EnabledYes
LockedYes
Block UpdateNo
Single AuthenticationNo
Windows OnlyNo
Connector Version2026-07-27
HooksNone
Additional Job FieldsNone
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.

MethodIdentifierBase MethodScriptOrderEnabledConfig Fields
Username / PasswordNUTANIX PRISM_b3a4JSON Rest API_userjson_rest_api.php10Yes5

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)

OrderLabelTypeRequiredDefaultMax LenTooltip
10API DomaintextYeshttps://PRISM_FQDN_REPLACE:9440255Enter API domain of the Connection
30Server Temporary Working PathtextYesstorage/etl5255Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40UsernametextYes1024Enter username of the Connection
50PasswordpasswordYes64000Enter password of the Connection
250Additional Job Fieldsfields_listNo[{"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:

HeaderValueBase64
Content-Type:application/jsonOff
Authorization: Basic%user_name%:%user_pass%On

cURL options:

OptionAuthentication CallData Calls
USERAGENTMozilla/5.0 (Windows NT 6.1 Win64 x64 rv:47.0) Gecko/20100101 Firefox/47.0Same
SSL_VERIFYHOSTfalseSame
SSL_VERIFYPEERfalseSame
RETURNTRANSFERtrueSame
FOLLOWLOCATIONtrueSame
FAILONERRORtrueSame
CONNECTTIMEOUT10Same

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.

OrderLabelTypeRequiredDefaultTooltip
10Job DescriptiontextYesEnter description of the Job
20Job SchedulelookupYesDailySelect frequency Job should run
30EnabledradioYesYesChoose if Job is enabled
40Use Unparsed DataradioNoNoChoose if you wish to parse the incoming data, or leave it in its raw format
50Log Raw API CallsradioYesNoChoose if raw API calls are logged
70Destination TabletextYesEnter name of the destination table
80Data IdentitytextNoEnter identity of the Job
110Append Files to Same Destination TableradioNoNoChoose if multiple files in the same path will append to the same destination table, or will create a new destination table for each file
120Append New Data to Existing TablesradioNoNoChoose if new data will append to the existing destination table, or will create a new destination table
130Fields to IndextextNoEnter fields to index
170Method TypeselectYesGETSelect method type of the Job
190API End PointtextNoEnter API end point of the Job
200API Data Parametersfields_listNoEnter API data parameters of the Job
210Body Data Sending MethodselectYesJSON Encoded DataSelect method for sending the body data
220Raw JSON Body DatatextareaNoEnter the raw JSON body to send. Do not use body selections in the API Parameters if this is used.
230API Return Data NodetextNoEnter API return data node of the Job
250Pagination TypeselectNoNoneSelect request paging type of the Job
270API Pagination NodetextNoEnter API pagination node of the Job
280Pagination Offset StarttextNoEnter request paging offset start of the Job
290Pagination LimittextNoEnter request pagination limit of the Job
300Pagination Termination NodetextNoEnter request paging termination node and value of the Job
310Maximum API CallstextNoEnter maximum number of API calls for the Job to make
320Enumeration 1 TypeselectNoNoneEnter enumeration level 1 type
330Enumeration 1 ETL JoblookupNoSelect ETL job for the enumeration values
340Enumeration 1 Data Typedata_typeNoSelect the data type and fields for enumeration 1 values
350Enumeration 1 Keys End PointtextNoEnter enumeration 1 keys end point of the Job
360Enumeration 1 NodetextNoEnter enumeration 1 node of the Job
370Enumeration 1 Fieldsfields_listNoEnter enumeration 1 fields of the Job
380Enumeration 2 TypeselectNoNoneEnter enumeration level 2 type
390Enumeration 2 ETL JoblookupNoSelect ETL job for the enumeration 2 values
400Enumeration 2 Data Typedata_typeNoSelect the data type and fields for enumeration 2 values
410Enumeration 2 Keys End PointtextNoEnter enumeration 2 keys end point of the Job
420Enumeration 2 NodetextNoEnter enumeration 2 node of the Job
430Enumeration 2 Fieldsfields_listNoEnter enumeration 2 fields of the Job
440Enumeration 3 TypeselectNoNoneEnter enumeration level 3 type
450Enumeration 3 ETL JoblookupNoSelect ETL job for the enumeration 3 values
460Enumeration 3 Data Typedata_typeNoSelect the data type and fields for enumeration 3 values
470Enumeration 3 Keys End PointtextNoEnter enumeration 3 keys end point of the Job
480Enumeration 3 NodetextNoEnter enumeration 3 node of the Job
490Enumeration 3 Fieldsfields_listNoEnter enumeration 3 fields of the Job
500Pause EnumerationtextNoEnter values for pausing enumeration every X calls for Y seconds
510Kill Enumeration on ErrorradioNoNoChoose to stop the enumeration loop on an error or continue processing the loop
520Additional Fieldsfields_listNoEnter list of additional fields to add to staging data
550Retry PausetextNoEnter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560OrdertextYesEnter order of the Job

Outbound Job Fields Enabled (13)

OrderLabelTypeRequiredDefaultTooltip
10Job DescriptiontextYesEnter description of the Job
30EnabledradioYesYesChoose if Job is enabled
50Log Raw API CallsradioYesNoChoose if raw API calls are logged
170Method TypeselectYesGETSelect method type of the Job
180Data Sending MethodselectYesJSON Encoded DataSelect method for sending the outbound data
190API End PointtextNoEnter API end point of the Job
200API Data Parametersfields_listNoEnter API data parameters of the Job
210Body Data Sending MethodselectYesJSON Encoded DataSelect method for sending the body data
260Return Data Fields Listfields_listYesEnter return data fields of the Job
530Outbound Fields Listfields_listYesEnter outbound fields of the Job
540Ignore Empty Outbound FieldsradioNoYesIgnore, and do not include, any outbound fields that are empty and have no data
550Raw JSON Outbound TemplatetextareaNoEnter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields.
560OrdertextYesEnter 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 DescriptionDestination TableAPI End PointEnabledWhat It Pulls
1GET Projects V3prism_projects_v3/api/nutanix/v3/projects/listYesPrism 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.
2GET Containersprism_containers/api/clustermgmt/v4.0/config/storage-containersYesThe 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.
3GET Clusters – Enum 1prism_clusters_enum_1/api/clustermgmt/v4.0/config/clustersNoThe 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.
4GET Subnetsprism_subnets/api/networking/v4.0/config/subnetsYesThe virtual subnets defined on AHV, with name and external id, VLAN identifier, IP address management configuration and the cluster each belongs to.
5GET Hostsprism_hosts/api/clustermgmt/v4.0/config/hostsYesEvery 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.
6GET Clustersprism_clusters/api/clustermgmt/v4.0/config/clustersYesEach 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.
7GET Categoriesprism_categories/api/prism/v4.0/config/categoriesYesThe 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.
8GET Cluster Hostsprism_cluster_hosts/api/clustermgmt/v4.0/config/clusters/%enum_id_1%/hostsYesThe 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.
9GET VMsprism_vms/api/vmm/v4.0/ahv/config/vmsYesEvery 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

SettingValue
Job ScheduleDaily (15 1 * * *)
Allow Empty TableYes
Append Files to Same Destination TableNo
Append New Data to Existing TablesNo
Use Unparsed DataNo
Convert UUID-Keyed Objects to RowsNo
Ignore XML AttributesNo
Log Raw API CallsNo
Body Data Sending MethodJSON Encoded Data

Settings That Vary by Template

TemplateIDOrderEnabledDestination TableData IdentityMethod TypeAPI End Point
GET Projects V313730Yesprism_projects_v3prism_projects_v3POST/api/nutanix/v3/projects/list
GET Containers12830000Yesprism_containersprism_containersGET/api/clustermgmt/v4.0/config/storage-containers
GET Clusters – Enum 112930000Noprism_clusters_enum_1prism_clusters_enum_1GET/api/clustermgmt/v4.0/config/clusters
GET Subnets13030001Yesprism_subnetsprism_subnetsGET/api/networking/v4.0/config/subnets
GET Hosts13130002Yesprism_hostsprism_hostsGET/api/clustermgmt/v4.0/config/hosts
GET Clusters13230003Yesprism_clustersprism_clustersGET/api/clustermgmt/v4.0/config/clusters
GET Categories13630003Yesprism_categoriesprism_categoriesGET/api/prism/v4.0/config/categories
GET Cluster Hosts13330004Yesprism_cluster_hostsprism_cluster_hostsGET/api/clustermgmt/v4.0/config/clusters/%enum_id_1%/hosts
GET VMs13430005Yesprism_vmsprism_vmsGET/api/vmm/v4.0/ahv/config/vms

Settings That Vary by Template (continued)

TemplateIDAPI Return Data NodePagination TypePagination LimitRetry PausePagination Offset StartPagination Termination Node
GET Projects V3137entitiesNot setNot setNot setNot setNot set
GET Containers128dataPages50Not set0metadata.totalAvailableResults<=%total_root_records%
GET Clusters – Enum 1129dataPages501,1,50metadata.totalAvailableResults<=%total_root_records%
GET Subnets130dataNot setNot setNot setNot setNot set
GET Hosts131dataPages50Not set0metadata.totalAvailableResults<=%total_root_records%
GET Clusters132dataPages501,1,50metadata.totalAvailableResults<=%total_root_records%
GET Categories136dataPages501,1,50metadata.totalAvailableResults<=%total_root_records%
GET Cluster Hosts133dataNot setNot set1,1,5Not setNot set
GET VMs134dataPages50Not set0metadata.totalAvailableResults<=%total_root_records%

Settings That Vary by Template (continued)

TemplateIDlu__active_connection_job
GET Projects V3137Not set
GET Containers128Not set
GET Clusters – Enum 1129Not set
GET Subnets130Not set
GET Hosts131Not set
GET Clusters132Not set
GET Categories136Not set
GET Cluster Hosts13356
GET VMs134Not set

Job Parameters and Enumeration

GET Projects V3

API data parameters:

KeyValueIn Body
kindprojecton

GET Containers

API data parameters:

KeyValueType
page%pagination_offset%Numeric
limit50Numeric

GET Clusters – Enum 1

API data parameters:

KeyValueType
page%pagination_offset%Numeric
limit50Numeric

GET Hosts

API data parameters:

KeyValueType
page%pagination_offset%Numeric
limit50Numeric

GET Clusters

API data parameters:

KeyValueType
page%pagination_offset%Numeric
limit50Numeric

GET Categories

API data parameters:

KeyValueType
page%pagination_offset%Numeric
limit50Numeric

GET Cluster Hosts

Enumeration 1 fields:

NameValue
enum_id_1extId

GET VMs

API data parameters:

KeyValueType
$page%pagination_offset%Numeric
$limit50Numeric

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 DescriptionMethodAPI End PointEnabledWhat It Does
1Rest POST APIPOSTNot setYesPosts 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

SettingValue
Order10
EnabledYes
Log Raw API CallsNo
Method TypePOST
Body Data Sending MethodJSON Encoded Data
Data Sending MethodJSON Encoded Data
Ignore Empty Outbound FieldsYes

Job Parameters and Enumeration

Rest POST API

Outbound fields list:

LabelNameTypeRequiredPattern
Record Keyrecord_keyStringon

Return data fields:

LabelName
Return Statusstatus
Return Messagemessage
Record Keydata.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.

Last updated on 11/4/2026

Attachments