NVIDIA UFM Enterprise REST API Guide v6.24.1

CloudX APIs

  • Description: Creates a new network in the InfiniBand (IB) scope, which corresponds to creating a P_Key. The P_Key value is specified in the "provider:segmentation_id" field and must be an integer. The request payload contains multiple fields as expected from the Cloudx network orchestrator.

    For UFM scope, it is essential to include the "id" and "provider:segmentation_id" fields in the request. All other fields are optional for UFM.

  • Request URL – POST /ufmRest/cloudx/Network

  • Request Payload:

    Copy
    Copied!
                

    { "id": "43a0f1c4-8bf5-4d69-8775-fe7c35549b99", "name": "x-test", "tenant_id": "6a51b867d9c149b5af70a66240a99999", "admin_state_up": true, "mtu": 1500, "status": "ACTIVE", "subnets": ["acff29ee-3ddc-47b7-a4bd-3f61cc2bc953"], "standard_attr_id": 36, "shared": false, "project_id": "6a51b867d9c149b5af70a66240a99999", "port_security_enabled": true, "router:external": false, "provider:network_type": "vlan", "provider:physical_network": "ibnet", "provider:segmentation_id": 99, "availability_zone_hints": [], "is_default": false, "availability_zones": [], "ipv4_address_scope": null, "ipv6_address_scope": null, "vlan_transparent": null, "description": "", "tags": [], "created_at": "2026-02-01T08:33:27Z", "updated_at": "2026-02-01T08:33:28Z", "revision_number": 1, "network_qos_policy": null }

  • Response – The HTTP Location header will contain a URI with the Job ID for this action, as network (P_Key) creation is asynchronous and includes updating OpenSM configuration files.

  • Status Codes

    • 202 – successful operation

    • 400 – bad request

  • Verification - Check the Job status using the returned Job ID. A successful job indicates the network was created. If the job fails, refer to the log files to determine the failure reason.

  • Description: Delete an existing network, which in IB scope means deleting the P_Key.

    Only the "id" field is required in the payload, matching the network "id" used during creation.

  • Request URL:

    DELETE /ufmRest/cloudx/Network

    Request Payload Example:

    { "id":"43a0f1c4-8bf5-4d69-8775-fe7c35549b99" }

    Response:

    • The HTTP Location header will contain a URI with a Job ID for this action, as deletion is asynchronous and includes updating OpenSM configuration files.

    Status Codes:

    • 202 – operation accepted

    • 400 – bad request

    • 404 – not found

    Verification:

    • Check the Job status using the returned Job ID. If completed successfully, the network was deleted. If errors occur, the network was not deleted. Refer to logs for details.

  • Description – Delete existing network. In IB related scope means to delete pkey.

To delete network enough to include in payload ID of the network to be deleted. Field "id" is compulsory and be the same as the network "id" in network creation command.

Important to mention that request created by Cloudx network orchestrator and contains many fields, but in this case only "if" key is important for UFM.

  • Request URL – DELETE /ufmRest/cloudx/Network

  • Request Payload:

    Copy
    Copied!
                

    { "id":"43a0f1c4-8bf5-4d69-8775-fe7c35549b99" }

  • Response – the HTTP Response Location Header will contain URI with Job ID created for this action, as the network (pkey) deletion is asynchronous and includes update OpenSM configuration files.

  • Status Codes

    • 202 – successful operation

    • 400 – bad request

    • 404 – not found

  • To ensure Network deleted - check Job status, using received Job ID. Job should be successfully completed. If job completed with errors - network was not deleted. Refer to log file to find out failure reason.

  • Description – Add port to existing network meaning port addition to defined in Add Network API pkey - means including port GUID in OpenSM partitions.conf file .

  • Request URL – POST /ufmRest/cloudx/Port

  • Request Payload:

    Copy
    Copied!
                

    { "id": "85379c18-1b09-4f19-b471-b3496b145999", "name": "r-ufm55", "network_id": "43a0f1c4-8bf5-4d69-8775-fe7c35549b99", "tenant_id": "6a51b867d9c149b5af70a66240a99999", "mac_address": "1c:34:da:65:82:72", "admin_state_up": true, "status": "DOWN", "device_id": "12953ebd-07a2-4d5d-bca3-87b4437f4536", "device_owner": "compute:nova", "standard_attr_id": 247, "project_id": "6a51b867d9c149b5af70a66240a99999", "qos_policy_id": null, "port_security_enabled": false, "security_groups": [], "binding:vnic_type": "baremetal", "binding:profile": {}, "binding:host_id": "r-ufm55", "binding:vif_type": "unbound", "binding:vif_details": {}, "allowed_address_pairs": [], "network_qos_policy": null, "extra_dhcp_opts": [ { "opt_name": "client-id", "opt_value": "ff:00:00:00:00:00:02:00:00:02:c9:00:f4:52:14:03:00:28:00:80", "ip_version": 4 } ], "description": "", "qos_network_policy_id": null, "resource_request": null, "ip_allocation": "immediate", "tags": [], "created_at": "2026-02-18T08:52:02Z", "updated_at": "2026-02-18T08:52:02Z", "revision_number": 1, "network": { "id": "43a0f1c4-8bf5-4d69-8775-fe7c35549b99", "name": "x-test", "tenant_id": "6a51b867d9c149b5af70a66240a99999", "admin_state_up": true, "mtu": 1500, "status": "ACTIVE", "subnets": [ "acff29ee-3ddc-47b7-a4bd-3f61cc2bc953" ], "standard_attr_id": 244, "shared": true, "availability_zone_hints": [], "availability_zones": [ "nova", "nova" ], "ipv4_address_scope": null, "ipv6_address_scope": null, "router:external": false, "vlan_transparent": null, "description": "", "qos_policy_id": null, "port_security_enabled": true, "l2_adjacency": true, "tags": [], "created_at": "2026-02-18T08:51:57Z", "updated_at": "2026-02-18T08:52:01Z", "revision_number": 2, "project_id": "6a51b867d9c149b5af70a66240a99999", "provider:network_type": "vlan", "provider:physical_network": "ibnet", "provider:segmentation_id": 99 } }

    The request payload contains many fields as it should be sent by Cloudx network orchestrator.

    For UFM scope required to include "network_id", "binding:host_id", "mac_address", "binding:vnic_type", "extra_dhcp_opts" fields in request. All the rest are not compulsory for UFM.

    "binding:vnic_type" for IB fabric should be "baremetal".

    Fields "name" and "binding:host_id" should contain host name.

    IB related definitions that must be included in request

    "extra_dhcp_opts": [

    {

    "opt_name": "client-id",

    "opt_value": "ff:00:00:00:00:00:02:00:00:02:c9:00:f4:52:14:03:00:28:00:80",

    "ip_version": 4

    }

    ],

    section in field "opt_value" should contain GUID of the device port to be added to pkey defined in netwtork.

    if

    "extra_dhcp_opts": [

    {

    "opt_name": "client-id",

       "opt_value": "ff:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00",

    "ip_version": 4

    }

    ],

    Zero opt_value meaning that request related to all the GUIDs of host (related to multinic host with multiple ports). In this case all the GUIDs of host IB ports will be added to pkey.

  • Response – the HTTP Response Location Header will contain URI with Job ID created for this action, as the port addition is asynchronous and includes update OpenSM configuration files.

  • Status Codes

    • 202 – successful operation

    • 400 – bad request

  • To ensure port (GUID) added to pkey - check Job status, using received Job ID. Job should be successfully completed. If job completed with errors - port was not added to pkey. Refer to log file to find out failure reason.

  • Description – Delete existing port from a network - removal of port guid from pkey.

  • Request URL – DELETE /ufmRest/cloudx/Port

  • Request Payload:

    Copy
    Copied!
                

    { "id": "85379c18-1b09-4f19-b471-b3496b145999", "name": "r-ufm55", "network_id": "43a0f1c4-8bf5-4d69-8775-fe7c35549b99", "tenant_id": "6a51b867d9c149b5af70a66240a99999", "mac_address": "1c:34:da:65:82:72", "admin_state_up": true, "status": "DOWN", "device_id": "12953ebd-07a2-4d5d-bca3-87b4437f4536", "device_owner": "compute:nova", "standard_attr_id": 247, "project_id": "6a51b867d9c149b5af70a66240a99999", "qos_policy_id": null, "port_security_enabled": false, "security_groups": [], "binding:vnic_type": "baremetal", "binding:profile": {}, "binding:host_id": "r-ufm55", "binding:vif_type": "unbound", "binding:vif_details": {}, "allowed_address_pairs": [], "network_qos_policy": null, "extra_dhcp_opts": [ { "opt_name": "client-id", "opt_value": "ff:00:00:00:00:00:02:00:00:02:c9:00:f4:52:14:03:00:28:00:80", "ip_version": 4 } ], "description": "", "qos_network_policy_id": null, "resource_request": null, "ip_allocation": "immediate", "tags": [], "created_at": "2026-02-18T08:52:02Z", "updated_at": "2026-02-18T08:52:02Z", "revision_number": 1, "network": { "id": "43a0f1c4-8bf5-4d69-8775-fe7c35549b99", "name": "x-test", "tenant_id": "6a51b867d9c149b5af70a66240a99999", "admin_state_up": true, "mtu": 1500, "status": "ACTIVE", "subnets": [ "acff29ee-3ddc-47b7-a4bd-3f61cc2bc953" ], "standard_attr_id": 244, "shared": true, "availability_zone_hints": [], "availability_zones": [ "nova", "nova" ], "ipv4_address_scope": null, "ipv6_address_scope": null, "router:external": false, "vlan_transparent": null, "description": "", "qos_policy_id": null, "port_security_enabled": true, "l2_adjacency": true, "tags": [], "created_at": "2026-02-18T08:51:57Z", "updated_at": "2026-02-18T08:52:01Z", "revision_number": 2, "project_id": "6a51b867d9c149b5af70a66240a99999", "provider:network_type": "vlan", "provider:physical_network": "ibnet", "provider:segmentation_id": 99 } }

    The request payload contains many fields as it should be sent by Cloudx network orchestrator.

    For UFM scope required "network_id", "binding:host_id", "mac_address", "binding:vnic_type", "extra_dhcp_opts" fields in request. All the rest are not compulsory for UFM.

    "binding:vnic_type" for IB fabric should be "baremetal".

    Fields "name" and "binding:host_id" should contain host name.

    IB related definitions that must be included in requestL

    "extra_dhcp_opts": [

    {

    "opt_name": "client-id",

    "opt_value": "ff:00:00:00:00:00:02:00:00:02:c9:00:f4:52:14:03:00:28:00:80",

    "ip_version": 4

    }

    ],

    section in field "opt_value" should contain GUID of the device port to be removed from pkey, defined in netwtork.

    if

        
    "extra_dhcp_opts": [    
    

    {

    "opt_name": "client-id",

       "opt_value": "ff:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00",

    "ip_version": 4

    }

    ],

    Zero opt_value meaning that request related to all the GUIDs of host (related to multinic host with multiple ports). In this case all the GUIDs of host IB ports will be removed from pkey.

  • Response – the HTTP Response Location Header will contain URI with Job ID created for this action, as the port removal is asynchronous and includes update OpenSM configuration files.

  • Status Codes

    • 202 – successful operation

    • 400 – bad request

    • 404 – not found

      To ensure port (GUID) removed from pkey - check Job status, using received Job ID. Job should be successfully completed. If job completed with errors - port was not removed from pkey. Refer to log file to find out failure reason.

© Copyright 2026, NVIDIA. Last updated on Feb 20, 2026