Networking Minerva User Guide

NVIDIA Minerva NVLink API User Guide

The NVIDIA Minerva NVLink API is organized around REST and conforms with OpenAPI Specification v3.0.3. The API provides access to resources and functionalities through a set of defined endpoints. Each endpoint has its own schema, which includes the payload, parameters, and the expected request/response formats.

Authentication

The API requires authentication. Send a valid X-API-Key header with each request, or use an authenticated NVIDIA Minerva session.

Example: -H "X-API-Key: <api-key>"

To create and configure the key, see Configure an API Key.

Asynchronous Operations

Some REST API calls involve asynchronous, long-running tasks. When one of these APIs is invoked, it immediately returns a 202 Accepted response. This indicates that the request has been received and is being processed, but the operation is not yet complete.

Every 202 response includes a Location header with the URL for checking the operation: /nmx/v1/operations/<operation-id>.

For partition requests, the 202 response body contains an operation ID (for example, "operationId": "551137c2f9e1fac808a5f572"). To check the status of the operation, make a GET request to /nmx/v1/operations/<op-id>. The response includes the operation's Status, Percentage, and CurrentStep, and its Result when the operation finishes.

Service registration and deletion (/nmx/v1/services) return the service object in the 202 response instead of an operation ID.

API Responses

The NVIDIA Minerva NVLink API uses conventional HTTP response codes to indicate the success or failure of an API request:

Code

Name

Description

200

Success

Request was successfully processed.

201

Created

Resource was successfully created.

202

Accepted

Request was accepted and is being processed asynchronously.

204

No Content

Request was successfully processed and the response has no body.

400

Bad Request

Invalid input was detected in the request.

403

Forbidden

The API key is missing or invalid, or no valid NVIDIA Minerva license is installed.

404

Not Found

Requested resource could not be found.

405

Method Not Allowed

The HTTP method is not allowed for this resource.

409

Conflict

Request cannot be processed due to a conflict in the current state of the resource.

500

Internal Server Error

Unexpected condition has occurred.

503

Service Unavailable

The service being requested is currently unavailable.

Limitations

The NVIDIA Minerva NVLink REST API contains fields that use the numeric uint64 format. Because tools like Swagger have limited JSON parsing capabilities, they cannot handle these large values correctly. This issue arises because Swagger relies on the native JavaScript JSON.parse method, which cannot accurately interpret 64-bit integers.

To address this limitation, pre-process any JSON data containing uint64 values before handling it in browser-based applications:

const preprocessed = jsonAsString.replace(/:\s*(\d{16,})/g, ': "$1"');
const result = JSON.parse(preprocessed, (key, value) => typeof value === 'string' && /:\s*(\d{16,})/g.test(value) ? BigInt(value) : value)

Responses from certain endpoints can be very large, which may result in slow loading, unresponsiveness, or even browser freezes. This limitation stems from browser and JavaScript processing constraints. For handling large-scale data, use dedicated tools such as Insomnia, Postman, or the command line.

Additionally, complex schemas with deeply nested structures can cause rendering issues.

Last updated: