NVIDIA Run:ai Registry API
Use an images registry to enable the listting of repositories and tags that can be used as a data source location for data sets that are relevant to the workload being submitted.
Use an images registry to enable the listting of repositories and tags that can be used as a data source location for data sets that are relevant to the workload being submitted.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/runai-registry-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: latest
description: '# 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.'
title: NVIDIA Run:ai Registry API
x-logo:
url: https://api.redocly.com/registry/raw/runai-xq8/saas/latest/public/runai-logo-api.png
altText: NVIDIA Run:ai
href: https://run.ai
license:
name: NVIDIA Run:ai
url: https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-software-license-agreement/
servers:
- url: https://app.run.ai
security:
- bearerAuth: []
tags:
- name: Registry
description: Use an images registry to enable the listting of repositories and tags that can be used as a data source location for data sets that are relevant to the workload being submitted.
paths:
/api/v1/asset/registries:
get:
tags:
- Registry
summary: Get registries
description: Retrieve a list of registries assets.
operationId: list_registries
parameters:
- $ref: '#/components/parameters/AssetNameFilter'
responses:
'200':
description: Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/RegistryListResponse'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
post:
tags:
- Registry
summary: Create a registry asset
description: Use to create a registry asset containing a registry base url and credentials.
operationId: create_registry
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RegistryCreationRequest'
responses:
'201':
description: Request accepted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Registry'
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'409':
$ref: '#/components/responses/409Conflict'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
/api/v1/asset/registries/{AssetId}:
parameters:
- $ref: '#/components/parameters/AssetId'
get:
tags:
- Registry
summary: Get a registry
description: Retrieve a registry asset by id.
operationId: get_registry_by_id
responses:
'200':
description: Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Registry'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
delete:
tags:
- Registry
summary: Delete a registry asset
description: Use to delete a registry asset containing registry base url and credentials by id.
operationId: delete_registry
responses:
'204':
description: Registry has been deleted.
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
put:
tags:
- Registry
summary: Update a registry asset
description: Use to update a registry asset containing registry base url and credentials by id.
operationId: update_registry
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RegistryUpdateRequest'
responses:
'200':
description: Request accepted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Registry'
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'409':
$ref: '#/components/responses/409Conflict'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
/api/v1/asset/registries/{AssetId}/repositories:
get:
tags:
- Registry
summary: Get the repositories in the registry
parameters:
- $ref: '#/components/parameters/AssetId'
- $ref: '#/components/parameters/SearchName'
description: Retrieve a list of repositories from a registry asset.
operationId: get_repositories
responses:
'200':
description: Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Repositories'
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
/api/v1/asset/registries/{AssetId}/repositories/tags:
get:
tags:
- Registry
summary: Get the repositories tags in the registry
parameters:
- $ref: '#/components/parameters/AssetId'
- name: repository
in: query
required: true
description: The repository name that its tags are requested.
schema:
type: string
allowReserved: true
- $ref: '#/components/parameters/SearchName'
description: Retrieve a list of repository tags from a repository asset.
operationId: get_repository_tags
responses:
'200':
description: Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/RepositoryTags'
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
components:
schemas:
AssetId:
description: Unique identifier of the asset.
type: string
format: uuid
minLength: 1
AssetDescription:
description: The description of the asset.
type:
- string
- 'null'
minLength: 1
maxLength: 250
example: description of my asset.
RegistryCreationRequest:
required:
- meta
- spec
properties:
meta:
$ref: '#/components/schemas/AssetCreationRequest'
spec:
$ref: '#/components/schemas/RegistrySpec'
AssetCreationRequest:
allOf:
- $ref: '#/components/schemas/AssetUpdatableFields'
- $ref: '#/components/schemas/AssetCreationFields'
example:
name: my-asset
scope: tenant
workloadSupportedTypes:
workspace: false
training: false
inference: false
distributed: true
distFramework: TF
AssetCreationFields:
type: object
required:
- scope
properties:
scope:
$ref: '#/components/schemas/Scope'
clusterId:
$ref: '#/components/schemas/ClusterIdOptional'
departmentId:
description: The id of the department. Must be specified for department scoped assets.
type:
- string
- 'null'
minLength: 1
projectId:
description: The id of the project. Must be specified for project scoped assets.
type:
- integer
- 'null'
format: int32
autoDelete:
description: The asset will be deleted automatically. This is intended for internal use.
type:
- boolean
- 'null'
default: false
workloadSupportedTypes:
$ref: '#/components/schemas/WorkloadSupportedTypes'
private:
description: The asset will be private to the user who created it. supported only for docker registry and generic secrets
type:
- boolean
- 'null'
default: false
Repositories:
required:
- repositories
properties:
repositories:
type: array
items:
type: string
Registry:
required:
- meta
- spec
properties:
meta:
$ref: '#/components/schemas/AssetMeta'
spec:
$ref: '#/components/schemas/RegistrySpec'
AssetReadOnlyFields:
required:
- id
- kind
- createdBy
- createdAt
- updatedBy
- updatedAt
properties:
id:
$ref: '#/components/schemas/AssetId'
kind:
$ref: '#/components/schemas/AssetKind'
tenantId:
description: The id of the tenant.
type:
- integer
- 'null'
format: int32
createdBy:
description: The user who created the asset.
type: string
minLength: 1
createdAt:
description: The time at which the asset were created
type: string
minLength: 1
format: date-time
updatedBy:
description: The user who updated the asset.
type: string
minLength: 1
updatedAt:
description: The time at which the asset has been updated
type: string
minLength: 1
format: date-time
deletedAt:
description: Deletion time of the asset (relevant for assets that sync to the cluster)
type: string
minLength: 1
format: date-time
deletedBy:
description: The user who deleted the asset
type: string
minLength: 1
projectName:
description: The name of the project that the asset is associated with, for project scoped assets.
type:
- string
- 'null'
minLength: 1
updateCount:
$ref: '#/components/schemas/UpdateCount'
type: object
AssetKind:
description: The kind of the asset.
type: string
minLength: 1
enum:
- compute
- environment
- accessKey
- dockerRegistry
- password
- genericSecret
- registry
- s3
- git
- nfs
- pvc
- hostPath
- workload-template
- model
- config-map
- secret-volume
- data-volume
- ngcApiKey
Scope:
description: The scope in which an asset can be used. The highest scope, system, is intended for internal purposes only.
type: string
minLength: 1
enum:
- system
- tenant
- cluster
- department
- project
RegistryUpdateRequest:
required:
- meta
- spec
properties:
meta:
$ref: '#/components/schemas/AssetUpdateRequest'
AssetUpdatableFields:
required:
- name
properties:
name:
$ref: '#/components/schemas/AssetName'
description:
$ref: '#/components/schemas/AssetDescription'
RegistryListResponse:
required:
- entries
properties:
entries:
type: array
items:
$ref: '#/components/schemas/Registry'
CredentialKind:
description: The kind of credential used.
type: string
minLength: 1
example: password
enum:
- password
AssetMeta:
allOf:
- $ref: '#/components/schemas/AssetUpdatableFields'
- $ref: '#/components/schemas/AssetCreationFields'
- $ref: '#/components/schemas/AssetReadOnlyFields'
example:
name: my-asset
scope: tenant
id: a418ed33-9399-48c0-a890-122cadd13bfd
kind: s3
createdBy: test@run.ai
createdAt: '2023-02-23T14:25:36.707685Z'
updatedBy: test@run.ai
updatedAt: '2023-02-23T14:25:36.707685Z'
workloadSupportedTypes:
workspace: false
training: false
distributed: true
distFramework: TF
RepositoryTags:
required:
- name
- tags
properties:
name:
type: string
tags:
type: array
items:
type: string
ClusterIdOptional:
description: The id of the cluster.
type:
- string
- 'null'
format: uuid
minLength: 1
example: 71f69d83-ba66-4822-adf5-55ce55efd210
AssetName:
description: The name of the asset.
type: string
minLength: 1
example: my-asset
RegistrySpec:
required:
- url
- credentialKind
- user
- password
properties:
url:
description: The registry base url.
type: string
example: https://hub.docker.com/
minLength: 1
credentialKind:
$ref: '#/components/schemas/CredentialKind'
user:
description: The name of the user.
type: string
example: admin
minLength: 1
password:
description: The password.
type: string
example: 12345678
minLength: 1
UpdateCount:
description: the value of an update counter of a data in the system.
type: integer
format: int64
example: 12345
Error:
required:
- code
- message
properties:
code:
type: integer
minimum: 100
maximum: 599
message:
type: string
details:
type: string
example:
code: 400
message: Bad request - Resource should have a name
WorkloadSupportedTypes:
properties:
inference:
description: Is inference a supported workload type.
type:
- boolean
- 'null'
workspace:
description: Is workspace a supported workload type.
type:
- boolean
- 'null'
training:
description: Is training a supported workload type.
type:
- boolean
- 'null'
distributed:
description: Is distributed a supported workload type.
type:
- boolean
- 'null'
distFramework:
description: The distributed training framework used in the workload.
type:
- string
- 'null'
enum:
- MPI
- PyTorch
- TF
- XGBoost
type:
- object
- 'null'
AssetUpdateRequest:
allOf:
- $ref: '#/components/schemas/AssetUpdatableFields'
example:
name: my-asset
parameters:
AssetId:
name: AssetId
in: path
required: true
description: Unique identifier of the asset.
schema:
type: string
format: uuid
minLength: 1
SearchName:
name: searchName
in: query
required: false
description: Filter results that contains searchName.
schema:
type: string
allowReserved: true
AssetNameFilter:
name: name
in: query
required: false
description: Filter results by name.
schema:
type: string
responses:
400BadRequest:
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: Required parameter is missing
404NotFound:
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 404
message: Resource id not found.
503ServiceUnavailable:
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 503
message: Please try again in few minutes.
403Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 403
message: You do not have sufficient permissions.
409Conflict:
description: The specified resource already exists
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 409
message: Resource with this name already exists
401Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Issuer is not familiar.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Bearer authentication
x-tagGroups:
- name: Organizations
tags:
- Clusters
- Departments
- Reports
- NodePools
- Nodes
- Projects
- Tenant
- Logo
- Researcher Command Line Interface
- Researcher Command Line Interface Deprecated
- Administrator Command Line Interface
- Network Topologies
- name: Authentication and Authorization
tags:
- Access Keys
- Access rules
- Permissions
- Applications
- Service Accounts
- Roles
- Tokens
- Users
- User Applications
- Idps
- Me
- Settings
- Org unit
- name: Audit
tags:
- AuditLogs
- name: Datavolumes
tags:
- Datavolumes
- name: Workloads
tags:
- Events
- Pods
- Workloads
- Workloads V2
- NVIDIA NIM
- Workspaces
- Trainings
- Inferences
- Revisions
- Distributed
- Workloads batch
- Workload properties
- Workload templates
- Distributed Inferences
- name: Workload assets
tags:
- Compute
- Credentials
- Datasources
- Environment
- Storage Classes
- Storage Class Configuration
- Git
- HostPath
- NFS
- PVC
- Registry
- S3
- ConfigMap
- Secret
- Template
- name: Policies
tags:
- Policy
- name: Notifications
tags:
- Notification State
- Notification Types
- NotificationChannels
- Subscriptions
- name: AI Applications
tags:
- AI Applications