NVIDIA Run:ai Applications API
**DEPRECATED:** Applications have been renamed to Service Accounts. Please use the [Service Accounts](/latest/#tag/Service-Accounts) endpoints instead. Create and manage applications in the tenant.
**DEPRECATED:** Applications have been renamed to Service Accounts. Please use the [Service Accounts](/latest/#tag/Service-Accounts) endpoints instead. Create and manage applications in the tenant.
openapi: 3.0.3
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.
NVIDIA Run:ai APIs are accessed using *bearer tokens*. To obtain a token, you need to create a **Service account** through the NVIDIA Run:ai user interface.
To create a service account, in your UI, go to Access → Service Accounts (for organization-level service accounts) or User settings → Access Keys (for user access keys), and create a new one.
After you have created a new service account, you will need to assign it access rules.
To assign access rules to the service account, see [Create access rules](https://run-ai-docs.nvidia.com/saas/infrastructure-setup/authentication/accessrules#create-or-delete-rules).
Make sure you assign the correct rules to your service account. Use the [Roles](https://run-ai-docs.nvidia.com/saas/infrastructure-setup/authentication/roles) to assign the correct access rules.
To get your access token, follow the instructions in [Request a token](https://run-ai-docs.nvidia.com/saas/reference/api/rest-auth/#request-an-api-token).
'
title: NVIDIA Run:ai Access Keys Applications 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: Applications
description: '**DEPRECATED:** Applications have been renamed to Service Accounts. Please use the [Service Accounts](/latest/#tag/Service-Accounts) endpoints instead.
Create and manage applications in the tenant.
'
paths:
/api/v1/apps:
get:
deprecated: true
summary: Get a list of applications.
description: Retrieve a list of applications.
operationId: get_applications
tags:
- Applications
responses:
'200':
description: Executed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Applications'
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
post:
deprecated: true
summary: Create an application.
description: Used to create an application.
operationId: create_application
tags:
- Applications
requestBody:
description: Application object to create
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationCreationRequest'
responses:
'201':
description: Executed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationPostResponse'
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'409':
$ref: '#/components/responses/409Conflict'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
/api/v1/apps/{appId}:
get:
deprecated: true
summary: Get application by id.
description: Retrieve the details of an application by id.
operationId: get_application_by_id
tags:
- Applications
parameters:
- $ref: '#/components/parameters/appId'
responses:
'200':
description: Executed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
patch:
deprecated: true
summary: Update application details by id.
description: Use to update the details of an application by id.
operationId: update_application_by_id
tags:
- Applications
parameters:
- $ref: '#/components/parameters/appId'
requestBody:
description: Application object that needs to be updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationPatchRequest'
responses:
'200':
description: Executed successfully.
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
delete:
deprecated: true
summary: Delete an application by id.
description: Use to delete an application by id.
operationId: delete_application_by_id
tags:
- Applications
parameters:
- $ref: '#/components/parameters/appId'
responses:
'204':
description: Executed successfully.
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
/api/v1/apps/{appId}/secret:
post:
deprecated: true
summary: Regenerate an application secret.
description: Use to regenerate the application secret by id.
operationId: regenerate_application_secret
tags:
- Applications
parameters:
- $ref: '#/components/parameters/appId'
responses:
'200':
description: Regenerated successfully.
content:
application/json:
schema:
type: object
properties:
secret:
type: string
example:
secret: 189ej2ijd92fj092k049fk0
'400':
$ref: '#/components/responses/400BadRequest'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'500':
$ref: '#/components/responses/500InternalServerError'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
components:
responses:
401Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 401
message: Issuer is not familiar.
404NotFound:
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 404
message: Resource id not found.
500InternalServerError:
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 500
message: Something went wrong.
400BadRequest:
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: 400
message: Required parameter is missing
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
parameters:
appId:
name: appId
in: path
required: true
description: The application id to retrieve
schema:
type: string
schemas:
ApplicationCreationRequest:
type: object
required:
- name
properties:
name:
type: string
pattern: ^[a-z][-_a-z0-9]*[a-z0-9]$
description: The name of the application. The name must be unique within the organization and can only contain lowercase alphanumeric characters and hyphens. It must start and end with a letter.
example:
name: app-123
ApplicationPostResponse:
type: object
required:
- id
- name
- secret
properties:
id:
type: string
name:
type: string
secret:
type: string
clientId:
type: string
example:
id: 0eeaf222-e503-4f35-9d9c-c419816272e3
name: app123
secret: asdasidjn9d
clientId: app123
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
Application:
type: object
required:
- name
- createdBy
- createdAt
- updatedAt
- enabled
- lastLogin
- id
- clientId
properties:
name:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
nullable: true
updatedAt:
type: string
format: date-time
nullable: true
enabled:
type: boolean
tenantId:
type: string
lastLogin:
type: string
format: date-time
nullable: true
id:
type: string
clientId:
type: string
example:
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
Applications:
type: array
items:
$ref: '#/components/schemas/Application'
ApplicationPatchRequest:
type: object
required:
- enabled
properties:
enabled:
type: boolean
example:
enabled: true
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