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.
| Parameter | Type | Description | Dependencies |
|---|---|---|---|
deviceUID |
string | Display a GPU according to its unique device identifier | None |
chassisSerialNumber |
string | Display GPUs by chassis serial number | None |
slotID |
integer | Display GPUs by slot identifier | Requires chassisSerialNumber |
trayIndex |
integer | Display GPUs by tray index | Requires chassisSerialNumber |
hostID |
string | Display GPUs by host identifier | Requires trayIndex or slotID |
domain |
array | Display 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>"
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>"
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>"
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>"
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.
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>"