NVIDIA Run:ai (latest)

Download OpenAPI specification:Download

License: NVIDIA Run:ai

Introduction

The NVIDIA Run:ai Control-Plane API reference is a guide that provides an easy-to-use programming interface for adding various tasks to your application, including workload submission, resource management, and administrative operations.

NVIDIA Run:ai APIs are accessed using bearer tokens. To obtain a token, you need to create an Application through the NVIDIA Run:ai user interface. To create an application, in your UI, go to Settings & Tools, Application and create a new Application.

After you have created a new application, you will need to assign it access rules. To assign access rules to the application, see Create access rules. Make sure you assign the correct rules to your application. Use the Roles to assign the correct access rules.

To get your access token, follow the instructions in Request a token.

Tenant

Manage tenant settings.

Get a list of tenants.

Retrieve a list of tenants and their details.

SecuritybearerAuth
Request
query Parameters
deleted
boolean
Default: false

Include soft-deleted tenants in the response when true.

Responses
200

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

get/api/v1/tenants
Response samples
application/json
[
  • {
    }
]

Create tenant

SecuritybearerAuth
Request
Request Body schema: application/json
required

The tenant to create.

name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$

The name of the tenant.

email
required
string^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2...

The email of the tenant's admin user.

password
string

The password for the tenant's admin user.

contractType
string
Enum: "normal" "trial" ""
role
string or null (Roles)

The role assigned to the tenant's admin user. Possible value: System administrator.

Enum: "System administrator" "Cloud operator"
object or null
Responses
201

Created

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

409

The specified resource already exists

500

unexpected error

503

unexpected error

post/api/v1/tenants
Request samples
application/json
{}
Response samples
application/json
{
  • "tenant": {
    },
  • "additionalData": {
    }
}

Get tenant

SecuritybearerAuth
Request
path Parameters
tenantId
required
integer <int32> >= 0

The id of the tenant to retrieve

Responses
200

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

get/api/v1/tenants/{tenantId}
Response samples
application/json
{
  • "id": 1,
  • "name": "example",
  • "displayName": "Example",
  • "status": "Ready",
  • "tenantId": 123,
  • "createdAt": "2020-01-01T00:00:00Z",
  • "updatedAt": "2020-01-02T00:00:00Z",
  • "deletedAt": null
}

soft/hard delete tenant

SecuritybearerAuth
Request
path Parameters
tenantId
required
integer <int32> >= 0

The id of the tenant to retrieve

query Parameters
isHardDelete
boolean

Boolean indicator for soft/hard delete

Responses
200

tenant uid that was deleted.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

delete/api/v1/tenants/{tenantId}
Response samples
application/json
{
  • "uid": "string"
}

Applications

Create and manage applications in the tenant.

Get application by id.

Retrieve the details of an application by id.

SecuritybearerAuth
Request
path Parameters
appId
required
string

The application id to retrieve

Responses
200

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/apps/{appId}
Response samples
application/json
{
  • "name": "app123",
  • "createdBy": "test@run.ai",
  • "createdAt": "2020-01-01T00:00:00Z",
  • "updatedAt": "2020-01-01T00:00:00Z",
  • "enabled": true,
  • "tenantId": 1234567890,
  • "lastLogin": "2020-01-01T00:00:00Z",
  • "id": "3434c-12323ab-4ce2ea6-b44fc-db344d",
  • "clientId": "app123"
}

Update application details by id.

Use to update the details of an application by id.

SecuritybearerAuth
Request
path Parameters
appId
required
string

The application id to retrieve

Request Body schema: application/json

Application object that needs to be updated.

enabled
required
boolean
Responses
200

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

patch/api/v1/apps/{appId}
Request samples
application/json
{
  • "enabled": true
}
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

Delete an application by id.

Use to delete an application by id.

SecuritybearerAuth
Request
path Parameters
appId
required
string

The application id to retrieve

Responses
204

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

delete/api/v1/apps/{appId}
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

Regenerate an application secret.

Use to regenerate the application secret by id.

SecuritybearerAuth
Request
path Parameters
appId
required
string

The application id to retrieve

Responses
200

Regenerated successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

post/api/v1/apps/{appId}/secret
Response samples
application/json
{
  • "secret": "189ej2ijd92fj092k049fk0"
}

Tokens

Use tokens to facilitate authentication to the NVIDIA Run:ai API. The API server must be configured to use the NVIDIA Run:ai identity service to validate authentication tokens.

Create a token

Create tokens using the grant_type parameter.

SecuritybearerAuth
Request
Request Body schema: application/json
grantType
any (TokenRequestGrantTypeEnum)
Enum: "app_token" "client_credentials" "refresh_token" "exchange_token" "password" "external_token_exchange"
appID
string
Deprecated
appSecret
string
Deprecated
code
string
redirectUri
string
refreshToken
string
username
string
password
string
clientID
string
clientSecret
string
externalToken
string
Responses
200

Executed successfully.

400

Bad request.

500

unexpected error

503

unexpected error

post/api/v1/token
Request samples
application/json

Obtain the clientID and the clientSecret using applications or user applications endpoints

{
  • "grantType": "client_credentials",
  • "clientID": "clientID",
  • "clientSecret": "clientSecret"
}
Response samples
application/json
{
  • "accessToken": "string",
  • "idToken": "string",
  • "refreshToken": "string",
  • "externalToken": "string"
}

Users

Get users.

Retrieve a list of platform users.

SecuritybearerAuth
Request
query Parameters
filter
string
Deprecated

Filter results by user attribute.

Example: filter=runai.is_local:true
filterBy
Array of strings

Filter results by a parameter. Use the format field-name operator value. Operators are <= Less than or equal, >= Greater than or equal, =@ contains. Dates are in ISO 8601 timestamp format and available for operators <=, >= and ==.

Example: filterBy=username=@test,lastLogin>=2024-09-24T00:00:00.00Z,isLocal==false
sortBy
string (UsersFilterSortFields)

Sort results by a parameters.

Enum: "username" "createdBy" "lastLogin" "creationTime" "lastUpdated" "type"
sortOrder
string
Default: "asc"

Sort results in descending or ascending order.

Enum: "asc" "desc"
offset
integer <int32>

The offset of the first item returned in the collection.

Example: offset=100
limit
integer <int32> [ 1 .. 500 ]
Default: 500

The maximum number of entries to return.

search
string

Filter results by a free text search.

Example: search=test@run
Responses
200

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

get/api/v1/users
Response samples
application/json
[
  • {
    }
]

Create a local user.

Use to create a local platform user.

SecuritybearerAuth
Request
Request Body schema: application/json
required

User object to create

email
required
string^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2...

The email of the user. Must be a valid email address.

resetPassword
boolean or null
Responses
201

Created successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

409

The specified resource already exists

500

unexpected error

503

unexpected error

post/api/v1/users
Request samples
application/json
{
  • "email": "test@run.ai",
  • "resetPassword": false
}
Response samples
application/json
{
  • "id": "0eeaf222-e503-4f35-9d9c-c419816272e3",
  • "username": "test@run.ai",
  • "tempPassword": "asdasidjn9d"
}

Count users

count users

SecuritybearerAuth
Request
query Parameters
filterBy
Array of strings

Filter results by a parameter. Use the format field-name operator value. Operators are <= Less than or equal, >= Greater than or equal, =@ contains. Dates are in ISO 8601 timestamp format and available for operators <=, >= and ==.

Example: filterBy=username=@test,lastLogin>=2024-09-24T00:00:00.00Z,isLocal==false
search
string

Filter results by a free text search.

Example: search=test@run
Responses
200

ok

400

Bad request.

401

Unauthorized

403

Forbidden

503

unexpected error

get/api/v1/users/count
Response samples
application/json
{
  • "count": 1
}

Logout a user.

Use to force a user to logout.

SecuritybearerAuth
Request
path Parameters
userId
required
string

The id of the user

Responses
200

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

post/api/v1/users/{userId}/logout
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

Reset a user's password.

Use to to reset a user's password.

SecuritybearerAuth
Request
path Parameters
userId
required
string

The id of the user

Responses
200

Regenerated successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

post/api/v1/users/{userId}/password
Response samples
application/json
{
  • "tempPassword": "asdasidjn9d"
}

Get a user by id.

Retrieve a user's details by id.

SecuritybearerAuth
Request
path Parameters
userId
required
string

The id of the user

Responses
200

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/users/{userId}
Response samples
application/json
{
  • "id": "3434c-12323ab-4ce2ea6-b44fc-db344d",
  • "username": "test@run.ai",
  • "createdBy": "devops@run.ai",
  • "createdAt": "2020-01-01T00:00:00Z",
  • "updatedAt": "2022-01-01T00:00:00Z",
  • "lastLogin": "2023-02-01T00:00:00Z",
  • "isLocal": true,
  • "groups": [
    ]
}

Delete a user by id.

Use to delete a user by id.

SecuritybearerAuth
Request
path Parameters
userId
required
string

The id of the user

Responses
204

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

delete/api/v1/users/{userId}
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

change user password

SecuritybearerAuth
Request
Request Body schema: application/json
required

Password to change

currentPassword
required
string
newPassword
required
string
Responses
200

Password changed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

post/api/v1/me/password
Request samples
application/json
{
  • "currentPassword": "Abcd!234",
  • "newPassword": "Zxcv!567"
}
Response samples
application/json
{
  • "tempPassword": "Abcd!234"
}

User Applications

Get a list of users applications.

Retrieve a list of the users applications.

SecuritybearerAuth
Responses
200

Executed successfully.

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

get/api/v1/user-applications
Response samples
application/json
[
  • {
    }
]

Create a user application.

Used to create a user application.

SecuritybearerAuth
Request
Request Body schema: application/json
required

Application object to create

name
required
string^[a-z][-_a-z0-9]*[a-z0-9]$

The name of the user application. The name must be unique within the user's applications list and can only contain lowercase alphanumeric characters and hyphens. It must start and end with a letter.

Responses
201

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

409

The specified resource already exists

500

unexpected error

503

unexpected error

post/api/v1/user-applications
Request samples
application/json
{
  • "name": "app-name"
}
Response samples
application/json
{
  • "id": "0eeaf222-e503-4f35-9d9c-c419816272e3",
  • "clientId": "5e7b3b7b4b7b4b7b",
  • "name": "app123",
  • "secret": "this-is-the-app-secret",
  • "createdAt": "2020-01-01T00:00:00Z"
}

Get user application by id.

Retrieve the details of a user's application by app id.

SecuritybearerAuth
Request
path Parameters
appId
required
string

The application id to retrieve

Responses
200

Executed successfully.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/user-applications/{appId}
Response samples
application/json
{
  • "name": "my-user-app",
  • "id": "3434c-12323ab-4ce2ea6-b44fc-db344d",
  • "clientId": "3434c-12323ab-4ce2ea6",
  • "createdAt": "2019-01-01T00:00:00Z",
  • "lastLogin": "2020-01-01T00:00:00Z"
}

Delete a user application byid.

Use to user a user application by id.

SecuritybearerAuth
Request
path Parameters
appId
required
string

The application id to retrieve

Responses
204

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

delete/api/v1/user-applications/{appId}
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

Regenerate a user application secret.

Use to regenerate the user application secret by id.

SecuritybearerAuth
Request
path Parameters
appId
required
string

The application id to retrieve

Responses
200

Regenerated successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

post/api/v1/user-applications/{appId}/secret
Response samples
application/json
{
  • "secret": "this-is-my-secret"
}

Get a list of all users applications.

Retrieve a list of all users applications.

SecuritybearerAuth
Request
query Parameters
clientId
string

Filter results by clientId

Example: clientId=3434c-12323ab-4ce2ea6-b44fc-db344d
createdBy
string

Filter results by creatdBy

Example: createdBy=test@run.ai
Responses
200

Executed successfully.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/administration/user-applications
Response samples
application/json
[
  • {
    }
]

Delete a user application by id for adminstrations.

Use to delete a user application by id for adminstrations.

SecuritybearerAuth
Request
path Parameters
appId
required
string

The application id to retrieve

Responses
204

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

delete/api/v1/administration/user-applications/{appId}
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

Idps

Get external idps list

SecuritybearerAuth
Request
query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Responses
200

Executed successfully.

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

get/api/v1/idps
Response samples
application/json
[]

Configure external idp

SecuritybearerAuth
Request
query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Request Body schema: application/json
required

Idp configuration

name
string
type
required
string
Enum: "oidc" "saml" "openshift-v4"
object or null (SamlCreationData)
object or null (OidcCreationData)
object or null (OcpCreationData)
object (Mappers)
Responses
201

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

409

The specified resource already exists

500

unexpected error

503

unexpected error

post/api/v1/idps
Request samples
application/json
{
  • "type": "saml",
  • "samlData": {},
  • "mappers": {
    }
}
Response samples
application/json
{
  • "alias": "oidc"
}

Get external idp by alias

SecuritybearerAuth
Request
path Parameters
idp
required
string

The alias of the idp

query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Responses
200

Executed successfully.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/idps/{idp}
Response samples
application/json
{}

Delete external idp by alias

SecuritybearerAuth
Request
path Parameters
idp
required
string

The alias of the idp

query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Responses
200

Idp successfully deleted

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

delete/api/v1/idps/{idp}
Response samples
application/json
{
  • "code": 401,
  • "message": "Issuer is not familiar."
}

Update external idp by alias

SecuritybearerAuth
Request
path Parameters
idp
required
string

The alias of the idp

query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Request Body schema: application/json
required

Updated idp object

name
string
type
required
string
Enum: "oidc" "saml" "openshift-v4"
object or null (SamlCreationData)
object or null (OidcCreationData)
object or null (OcpCreationData)
object (Mappers)
Responses
200

Idp successfully updated

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

put/api/v1/idps/{idp}
Request samples
application/json
{
  • "type": "saml",
  • "samlData": {},
  • "mappers": {
    }
}
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

Get idp mappers

SecuritybearerAuth
Request
path Parameters
idp
required
string

The alias of the idp

query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Responses
200

Executed successfully.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/idps/{idp}/mappers
Response samples
application/json
{
  • "gid": "string",
  • "uid": "string",
  • "groups": "string",
  • "supplementaryGroups": "string",
  • "email": "string"
}

Update idp mappers

SecuritybearerAuth
Request
path Parameters
idp
required
string

The alias of the idp

query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Request Body schema: application/json
required

Map of our mappers and their source in the external idp

gid
string
uid
string
groups
string
supplementaryGroups
string
email
string
Responses
202

Request accepted successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

put/api/v1/idps/{idp}/mappers
Request samples
application/json
{
  • "gid": "string",
  • "uid": "string",
  • "groups": "string",
  • "supplementaryGroups": "string",
  • "email": "string"
}
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

Settings

View and manage configuration settings for your organization.

Get security settings

SecuritybearerAuth
Request
query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Responses
200

Executed successfully.

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

get/api/v1/security/settings
Response samples
application/json
{
  • "autoRedirectSSO": {
    },
  • "browserSessionTimeout": {
    },
  • "logoutRedirectUri": {}
}

Update security setting by key

SecuritybearerAuth
Request
path Parameters
key
required
string (settingsKeyEnum)

The settings key

Enum: "autoRedirectSSO" "browserSessionTimeout" "logoutRedirectUri"
query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Request Body schema: application/json
required
Any of:
enabled
boolean or null
idpAlias
string or null^[a-z0-9_-]*$
Responses
200

Setting successfully updated

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

put/api/v1/security/settings/{key}
Request samples
application/json
{
  • "enabled": false,
  • "idpAlias": "oidc"
}
Response samples
application/json
{
  • "code": 400,
  • "message": "Required parameter is missing"
}

Get security setting by key

SecuritybearerAuth
Request
path Parameters
key
required
string (settingsKeyEnum)

The settings key

Enum: "autoRedirectSSO" "browserSessionTimeout" "logoutRedirectUri"
query Parameters
tenantId
string
Default: ""

If exists will return the relevant resource for the tenant ID

Example: tenantId=1008
Responses
200

Executed successfully.

400

Bad request.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/security/settings/{key}
Response samples
application/json
{
  • "enabled": false,
  • "idpAlias": "oidc"
}

AuditLogs

The audit log provides audit trail information for user activity, changes to business objects and other important information. For more information, see Audit log.

Get audit logs

Get audit logs based on query params filter

SecuritybearerAuth
Request
query Parameters
start
required
string <date-time>

Start date of time range to fetch data in ISO 8601 timestamp format.

Example: start=2023-06-06T12:09:18.211Z
end
required
string <date-time>

End date of time range to fetch data in ISO 8601 timestamp format.

Example: end=2023-06-07T12:09:18.211Z
offset
integer <int32>

The offset of the first item returned in the collection.

Example: offset=100
numberOfSamples
integer [ 0 .. 1000 ]
Default: 20

The number of samples to take in the specified time range.

Example: numberOfSamples=20
sortOrder
string
Default: "asc"

Sort results in descending or ascending order.

Enum: "asc" "desc"
sortBy
string

Sort results by a parameters.

Enum: "timestamp" "subject" "subject_type" "source_ip" "action" "http_method" "result" "url" "entity_type" "entity_name" "entity_id"
filterBy
Array of strings

Filter results by a parameter. Use the format field-name operator value. Operators are == Equals, != Not equals, <= Less than or equal, >= Greater than or equal, =@ contains, !@ Does not contains, =^ Starts with and =$ Ends with. Dates are in ISO 8601 timestamp format and available for operators ==, !=, <= and >=.

Example: filterBy=cluster_name==my-cluster_name,entity_type==cluster,entity_name==test
Responses
200

Executed successfully

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

get/api/v1/audit/log
Response samples
application/json
{
  • "total": 2000,
  • "next": 100,
  • "audit_logs": [
    ]
}

Download audit logs

Download audit logs as a file, based on query params filter

SecuritybearerAuth
Request
query Parameters
file_type
string
Default: "CSV"
Enum: "CSV" "JSON"
start
required
string <date-time>

Start date of time range to fetch data in ISO 8601 timestamp format.

Example: start=2023-06-06T12:09:18.211Z
end
required
string <date-time>

End date of time range to fetch data in ISO 8601 timestamp format.

Example: end=2023-06-07T12:09:18.211Z
numberOfSamples
integer [ 0 .. 1000 ]
Default: 20

The number of samples to take in the specified time range.

Example: numberOfSamples=20
filterBy
Array of strings

Filter results by a parameter. Use the format field-name operator value. Operators are == Equals, != Not equals, <= Less than or equal, >= Greater than or equal, =@ contains, !@ Does not contains, =^ Starts with and =$ Ends with. Dates are in ISO 8601 timestamp format and available for operators ==, !=, <= and >=.

Example: filterBy=cluster_name==my-cluster_name,entity_type==cluster,entity_name==test
Responses
200

File downloaded

401

Unauthorized

403

Forbidden

500

unexpected error

503

unexpected error

get/api/v1/audit/log/file
Response samples
application/json
{
  • "code": 401,
  • "message": "Issuer is not familiar."
}