Inventory and Devices

The NetworkEntity section of the API lets you manage inventory and hardware objects in the NVLink fabric, including switches, chassis, compute nodes, GPUs, ports, and domains. You can also delete entities from the fabric directly through the API.

GPU API Endpoints

The /v1/gpus endpoint supports the following query parameters. These parameters allow you to scope GPU queries according to a specific chassis, slot, tray, or host without retrieving the entire inventory.

ParameterTypeDescriptionDependencies
deviceUIDstringDisplay a GPU according to its unique device identifierNone
chassisSerialNumberstringDisplay GPUs by chassis serial numberNone
slotIDintegerDisplay GPUs by slot identifierRequires chassisSerialNumber
trayIndexintegerDisplay GPUs by tray indexRequires chassisSerialNumber
hostIDstringDisplay GPUs by host identifierRequires trayIndex or slotID
domainarrayDisplay GPUs by domain UUID(s)None

GPU API Examples

Retrieve a specific GPU using its unique device identifier:

curl -X GET "https://<ip_address>/nmx/v1/gpus?deviceUID=12345678" \
  -H "accept: application/json" \
  -H "Authorization: Basic <auth-token>"

Example response

Retrieve all GPUs in a specific chassis:

curl -X GET "https://<ip_address>/nmx/v1/gpus?chassisSerialNumber=CH-SN-9876543" \
  -H "accept: application/json" \
  -H "Authorization: Basic <auth-token>"

Example response

Retrieve GPUs from a specific slot within a chassis:

curl -X GET "https://<ip_address>/nmx/v1/gpus?chassisSerialNumber=CH-SN-9876543&slotID=3" \
  -H "accept: application/json" \
  -H "Authorization: Basic <auth-token>"

Example response

Retrieve GPUs from a specific tray and host combination:

curl -X GET "https://<ip_address>/nmx/v1/gpus?chassisSerialNumber=CH-SN-9876543&trayIndex=1&hostID=1" \
  -H "accept: application/json" \
  -H "Authorization: Basic <auth-token>"
Example response

Delete Entities

Use the DELETE endpoints for chassis, compute nodes, switch nodes, and domains. Deletions cascade automatically to child entities so you do not need to delete them individually beforehand.

Deletion operations do not require a request body. Pass only the entity ID in the path.

Delete a Chassis

DELETE /v1/chassis/{id} is a synchronous operation. It deletes the chassis and cascades to all child entities (compute nodes, switch nodes, switches, GPUs, ports, and partitions) in a single transaction. Returns 204 on success.

curl -X DELETE "https://<ip_address>/nmx/v1/chassis/<chassis-id>" \
  -H "Authorization: Basic <auth-token>"

Delete a Compute Node

DELETE /v1/compute-nodes/{id} is a synchronous operation. It deletes the compute node and its associated GPUs and ports in a single transaction. Returns 204 on success. If any of the compute node’s GPUs is a member of an active partition, the request returns 409 Conflict. Detach or delete the partition before retrying.

curl -X DELETE "https://<ip_address>/nmx/v1/compute-nodes/<compute-node-id>" \
  -H "Authorization: Basic <auth-token>"

Delete a Switch Node

DELETE /v1/switch-nodes/{id} is a synchronous operation. It deletes the switch node and its switches and ports in a single transaction. Returns 204 on success.

curl -X DELETE "https://<ip_address>/nmx/v1/switch-nodes/<switch-node-id>" \
  -H "Authorization: Basic <auth-token>"

Delete a Domain

DELETE /v1/domains/{id} is an asynchronous operation. Unlike the other delete endpoints, it returns 202 Accepted immediately and runs in the background. It deletes the domain and all related entities: chassis, switch nodes, compute nodes, switches, GPUs, ports, partitions, and associated NMX services.

When a domain is being deleted, it enters a draining state that rejects all new operations until the deletion operation completes.

curl -X DELETE "https://<ip_address>/nmx/v1/domains/<domain-id>" \
  -H "accept: application/json" \
  -H "Authorization: Basic <auth-token>"

Use the returned operationId to track progress:

curl -X GET "https://<ip_address>/nmx/v1/operations/551137c2f9e1fac808a5f572" \
  -H "accept: application/json" \
  -H "Authorization: Basic <auth-token>"