NVIDIA Run:ai Credentials API

Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/saas/workloads-in-nvidia-run-ai/assets/credentials).

OpenAPI Specification

runai-credentials-api-openapi.yml Raw ↑
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.


    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 Credentials 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: Credentials
  description: Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/saas/workloads-in-nvidia-run-ai/assets/credentials).
paths:
  /api/v1/asset/credentials:
    get:
      summary: List credentials.
      description: Use to retrieve a list of all existing credentials.
      operationId: list_credentials_assets
      tags:
      - Credentials
      parameters:
      - $ref: '#/components/parameters/AssetNameFilter'
      - $ref: '#/components/parameters/AssetScopeFilter'
      - $ref: '#/components/parameters/AssetProjectFilter'
      - $ref: '#/components/parameters/AssetDepartmentFilter'
      - $ref: '#/components/parameters/AssetClusterFilter'
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialsListResponse'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/asset/credentials/access-key:
    get:
      tags:
      - Credentials
      summary: List access keys.
      description: Use to retrieve a list of S3-compatible access key credentials.
      operationId: list_access_keys
      parameters:
      - $ref: '#/components/parameters/AssetNameFilter'
      - $ref: '#/components/parameters/AssetScopeFilter'
      - $ref: '#/components/parameters/AssetProjectFilter'
      - $ref: '#/components/parameters/AssetDepartmentFilter'
      - $ref: '#/components/parameters/AssetClusterFilter'
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKeyListResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    post:
      tags:
      - Credentials
      summary: Create an access key.
      description: Use to create an S3-compatible access key credential.
      operationId: create_access_key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessKeyCreationRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKey'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '409':
          $ref: '#/components/responses/409Conflict'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/asset/credentials/access-key/{AssetId}:
    parameters:
    - $ref: '#/components/parameters/AssetId'
    get:
      tags:
      - Credentials
      summary: Get an access key.
      description: Use to retrieve the details of an S3-compatible access key credential by id.
      operationId: get_access_key_by_id
      parameters:
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKey'
        '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:
      - Credentials
      summary: Update an access key.
      description: Use to update the details of an S3-compatible access key credential by id.
      operationId: update_access_key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessKeyUpdateRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKey'
        '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'
    delete:
      tags:
      - Credentials
      summary: Delete an access key.
      description: Use to delete an S3-compatible access key credential by id.
      operationId: delete_access_key
      responses:
        '202':
          $ref: '#/components/responses/202Accepted'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '412':
          $ref: '#/components/responses/412PreconditionFailed'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/asset/credentials/password:
    get:
      tags:
      - Credentials
      summary: List password credentials.
      description: Use to retrieve a list of password credentials.
      operationId: list_passwords
      parameters:
      - $ref: '#/components/parameters/AssetNameFilter'
      - $ref: '#/components/parameters/AssetScopeFilter'
      - $ref: '#/components/parameters/AssetProjectFilter'
      - $ref: '#/components/parameters/AssetDepartmentFilter'
      - $ref: '#/components/parameters/AssetClusterFilter'
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordListResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    post:
      tags:
      - Credentials
      summary: Create a userid / password credential.
      description: Use to create a userid / password credential.
      operationId: create_password
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordCreationRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Password'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '409':
          $ref: '#/components/responses/409Conflict'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/asset/credentials/password/{AssetId}:
    parameters:
    - $ref: '#/components/parameters/AssetId'
    get:
      tags:
      - Credentials
      summary: Get a userid / password credential.
      description: Use to retrieve the details of a userid / password credential asset by id.
      operationId: get_password_by_id
      parameters:
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Password'
        '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:
      - Credentials
      summary: Update a password credential.
      description: Use to Update the details of a password credential by id.
      operationId: update_password
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordUpdateRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Password'
        '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'
    delete:
      tags:
      - Credentials
      summary: Delete a password asset.
      description: Udse to delete a password credential by id.
      operationId: delete_password
      responses:
        '202':
          $ref: '#/components/responses/202Accepted'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '412':
          $ref: '#/components/responses/412PreconditionFailed'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/asset/credentials/docker-registry:
    get:
      tags:
      - Credentials
      summary: List docker registry credentials.
      description: Use to retrieve a list of docker registry credentials.
      operationId: list_docker_registries
      parameters:
      - $ref: '#/components/parameters/AssetNameFilter'
      - $ref: '#/components/parameters/AssetScopeFilter'
      - $ref: '#/components/parameters/AssetProjectFilter'
      - $ref: '#/components/parameters/AssetDepartmentFilter'
      - $ref: '#/components/parameters/AssetClusterFilter'
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DockerRegistryListResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    post:
      tags:
      - Credentials
      summary: Create a docker registry credential.
      description: Use to create a docker registry credential containing userid, password and url.
      operationId: create_docker_registry
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerRegistryCreationRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DockerRegistry'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '409':
          $ref: '#/components/responses/409Conflict'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/asset/credentials/docker-registry/{AssetId}:
    parameters:
    - $ref: '#/components/parameters/AssetId'
    get:
      tags:
      - Credentials
      summary: Get a docker registry credential.
      description: Use to retrieve the details of a docker registry credential by id.
      operationId: get_docker_registry_by_id
      parameters:
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DockerRegistry'
        '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:
      - Credentials
      summary: Update a docker registry credential.
      description: Use to updates the details of a docker registry credentials by id.
      operationId: update_docker_registry
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerRegistryUpdateRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DockerRegistry'
        '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'
    delete:
      tags:
      - Credentials
      summary: Delete a docker registry credential.
      description: Use to deletes a docker registry credential by id.
      operationId: delete_docker_registry
      responses:
        '202':
          $ref: '#/components/responses/202Accepted'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '412':
          $ref: '#/components/responses/412PreconditionFailed'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/asset/credentials/generic-secret:
    get:
      tags:
      - Credentials
      summary: List generic-secrets.
      description: Retrieve a list of generic-secret assets.
      operationId: list_generic_secret
      parameters:
      - $ref: '#/components/parameters/AssetNameFilter'
      - $ref: '#/components/parameters/AssetScopeFilter'
      - $ref: '#/components/parameters/AssetProjectFilter'
      - $ref: '#/components/parameters/AssetDepartmentFilter'
      - $ref: '#/components/parameters/AssetClusterFilter'
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSecretListResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    post:
      tags:
      - Credentials
      summary: Create a generic-secret.
      description: Use to create a generic-secret asset.
      operationId: create_generic_secret
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericSecretCreationRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSecret'
        '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/credentials/generic-secret/{AssetId}:
    parameters:
    - $ref: '#/components/parameters/AssetId'
    get:
      tags:
      - Credentials
      summary: Get a generic-secret.
      description: Returns the details of a generic-secret asset, by id.
      operationId: get_generic_secret_by_id
      parameters:
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSecret'
        '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:
      - Credentials
      summary: Update a generic-secret.
      description: Updates the details of a generic-secret asset, by id.
      operationId: update_generic_secret
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericSecretUpdateRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSecret'
        '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'
    delete:
      tags:
      - Credentials
      summary: Delete a generic-secret.
      description: Use to delete a generic-secret asset, by id.
      operationId: delete_generic_secret
      responses:
        '204':
          $ref: '#/components/responses/204NoContent'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '412':
          $ref: '#/components/responses/412PreconditionFailed'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/asset/credentials/ngc-api-key:
    get:
      tags:
      - Credentials
      summary: List ngc-api-keys.
      description: Retrieve a list of ngcApiKey assets.
      operationId: list_ngc_api_key
      parameters:
      - $ref: '#/components/parameters/AssetNameFilter'
      - $ref: '#/components/parameters/AssetScopeFilter'
      - $ref: '#/components/parameters/AssetProjectFilter'
      - $ref: '#/components/parameters/AssetDepartmentFilter'
      - $ref: '#/components/parameters/AssetClusterFilter'
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NgcApiKeyListResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    post:
      tags:
      - Credentials
      summary: Create a ngc-api-key.
      description: Use to create a ngc-api-key asset.
      operationId: create_ngc_api_key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NgcApiKeyCreationRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NgcApiKey'
        '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/credentials/ngc-api-key/{AssetId}:
    parameters:
    - $ref: '#/components/parameters/AssetId'
    get:
      tags:
      - Credentials
      summary: Get a ngc-api-key.
      description: Returns the details of a ngc-api-key asset, by id.
      operationId: get_ngc_api_key_by_id
      parameters:
      - $ref: '#/components/parameters/IncludeUsageInfo'
      - $ref: '#/components/parameters/IncludeStatus'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NgcApiKey'
        '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:
      - Credentials
      summary: Update a ngc-api-key.
      description: Updates the details of a ngc-api-key asset, by id.
      operationId: update_ngc_api_key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NgcApiKeyUpdateRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NgcApiKey'
        '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'
    delete:
      tags:
      - Credentials
      summary: Delete a ngc-api-key.
      description: Use to delete a ngc-api-key asset, by id.
      operationId: delete_ngc_api_key
      responses:
        '204':
          $ref: '#/components/responses/204NoContent'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '412':
          $ref: '#/components/responses/412PreconditionFailed'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
components:
  schemas:
    PasswordCreationSpec:
      properties:
        existingSecretName:
          description: optional name of existing secret in the cluster from which the user name and password should be taken. If omitted, you will have to provide those credentials in the user and password fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.
          type:
          - string
          - 'null'
          minLength: 1
        user:
          description: The name of the user, required only when not using existing secret.
          type:
          - string
          - 'null'
          minLength: 1
        password:
          description: The password, required only when not using existing secret.
          type:
          - string
          - 'null'
          minLength: 1
    AssetsUsageRefCompute:
      allOf:
      - $ref: '#/components/schemas/AssetRef'
      type:
      - object
      - 'null'
    PasswordCreationRequest:
      required:
      - meta
      - spec
      properties:
        meta:
          $ref: '#/components/schemas/AssetCreationRequest'
        spec:
          $ref: '#/components/schemas/PasswordCreationSpec'
    GenericSecretSpec:
      allOf:
      - $ref: '#/components/schemas/GenericSecretCreationSpec'
      - $ref: '#/components/schemas/EncryptionKeyId'
    DataSourceOverrides:
      description: specific fields to override in the data source.
      type:
      - object
      - 'null'
      properties:
        containerPath:
          type:
          - string
          - 'null'
          minLength: 1
          example: /container/directory
    CredentialsListResponseAssetSpec:
      properties:
        accessKey:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/AccessKeySpec'
        password:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/PasswordSpec'
        dockerRegistry:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/DockerRegistrySpec'
        genericSecret:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/GenericSecretSpec'
        ngcApiKey:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/NgcApiKeySpec'
    NgcApiKey:
      required:
      - meta
      - spec
      properties:
        meta:
          $ref: '#/components/schemas/AssetMeta'
        spec:
          $ref: '#/components/schemas/NgcApiKeySpec'
        usedBy:
          $ref: '#/components/schemas/AssetUsageInfo'
        compliance:
          $ref: '#/components/schemas/ComplianceInfo'
        status:
          $ref: '#/components/schemas/AssetClusterStatusInfo'
        clusterInfo:
          $ref: '#/components/schemas/ClusterInfo1'
    GenericSecretKeyValuePairs:
      description: Set of key-value pairs to store in the new credential.
      type:
      - array
      - 'null'
      items:
        $ref: '#/components/schemas/KeyValuePair'
    Password:
      required:
      - meta
      - spec
      properties:
        meta:
          $ref: '#/components/schemas/AssetMeta'
        spec:
          $ref: '#/components/schemas/PasswordSpec'
        usedBy:
          $ref: '#/components/schemas/AssetUsageInfo'
        compliance:
          $ref: '#/components/schemas/ComplianceInfo'
        status:
          $ref: '#/components/schemas/AssetClusterStatusInfo'
        clusterInfo:
          $ref: '#/components/schemas/ClusterInfo1'
    GenericSecretUpdateRequest:
      properties:
        meta:
          $ref: '#/components/schemas/CredentialUpdateRequest'
    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
    NgcApiKeyCreationRequest:
      required:
      - meta
      - spec
      properties:
        meta:
          $ref: '#/components/schemas/AssetCreationRequest'
        spec:
          $ref: '#/components/schemas/NgcApiKeyCreationSpec'
    CredentialsListResponseEntry:
      required:
      - meta
      - spec
      properties:
        meta:
          $ref: '#/components/schemas/AssetMeta'
        spec:
          $ref: '#/components/schemas/CredentialsListResponseAssetSpec'
        usedBy:
          $ref: '#/components/schemas/AssetUsageInfo'
        status:
          $ref: '#/components/schemas/AssetClusterStatusInfo'
        clusterInfo:
          $ref: '#/components/schemas/ClusterInfo1'
    ToolType:
      description: Super set of Internal and External tool types.
      type: string
      minLength: 1
      enum:
      - jupyter-notebook
      - pycharm
      - visual-studio-code
      - tensorboard
      - rstudio
      - mlflow
      - custom
      - wandb
      - matlab
      - comet
      - chatbot-ui
    GenericSecretCreationSpec:
      properties:
        existingSecretName:
          description: name of existing secret in the cluster from which the general key-value values should be taken.
          type:
          - string
          - 'null'
          minLength: 1
        keyValuePairs:
          $ref: '#/components/schemas/GenericSecretKeyValuePairs'
    AssetDatasourceRef:
      description: Reference information about a datasource asset.
      required:
      - id
      - name
      - kind
      properties:
        id:
          $ref: '#/components/schemas/AssetId'
        name:
          $ref: '#/components/schemas/AssetName'
        kind:
          $ref: '#/components/schemas/AssetKind'
        overrides:
   

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/runai/refs/heads/main/openapi/runai-credentials-api-openapi.yml