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: