NVIDIA Run:ai Template API

Templates are a pre-set configuration used to quickly configure and submit workloads using existing assets.

Operations 5

GET /api/v1/asset/workload-template List templates. #
POST /api/v1/asset/workload-template Create a template. #
GET /api/v1/asset/workload-template/{AssetId} Get a template. #
PUT /api/v1/asset/workload-template/{AssetId} Update a template. #
DELETE /api/v1/asset/workload-template/{AssetId} Delete a template. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/runai-template-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

runai-template-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 Template 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: Template
  description: Templates are a pre-set configuration used to quickly configure and submit workloads using existing assets.
paths:
  /api/v1/asset/workload-template:
    get:
      summary: List templates.
      description: Retrieve a list of templates.
      operationId: list_templates
      deprecated: true
      tags:
      - Template
      parameters:
      - $ref: '#/components/parameters/AssetNameFilter'
      - $ref: '#/components/parameters/AssetScopeFilter'
      - $ref: '#/components/parameters/AssetProjectFilter'
      - $ref: '#/components/parameters/AssetDepartmentFilter'
      - $ref: '#/components/parameters/AssetClusterFilter'
      - $ref: '#/components/parameters/DistributedFrameworkQuery'
      - $ref: '#/components/parameters/IsDistributedQuery'
      - $ref: '#/components/parameters/IsTrainingQuery'
      - $ref: '#/components/parameters/IsWorkspaceQuery'
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadTemplateListResponse'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    post:
      summary: Create a template.
      description: Use to create a template.
      operationId: create_template
      deprecated: true
      tags:
      - Template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkloadTemplateCreationRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadTemplate'
        '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/workload-template/{AssetId}:
    parameters:
    - $ref: '#/components/parameters/AssetId'
    get:
      summary: Get a template.
      description: Retrieve the details of a template by id.
      operationId: get_template_by_id
      deprecated: true
      tags:
      - Template
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadTemplate'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    put:
      summary: Update a template.
      description: Use to update the details of a template by id.
      operationId: update_template
      deprecated: true
      tags:
      - Template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkloadTemplateUpdateRequest'
      responses:
        '202':
          description: Request accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadTemplate'
        '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'
    delete:
      summary: Delete a template.
      description: Use to delete a template by id.
      operationId: delete_template_by_id
      deprecated: true
      tags:
      - Template
      responses:
        '202':
          $ref: '#/components/responses/202Accepted'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
components:
  parameters:
    AssetProjectFilter:
      name: projectId
      in: query
      required: false
      description: Filter results by project id. If scope filter is project, only assets from the specific project will be included in the response. Otherwise, the response will include project, department, cluster, tenant and system assets.
      schema:
        type: integer
        format: int32
    IsWorkspaceQuery:
      name: isWorkspace
      in: query
      required: false
      description: Filter results to workload of type workspace.
      schema:
        type: boolean
      allowReserved: true
    AssetScopeFilter:
      name: scope
      in: query
      required: false
      description: 'Filters results by scope. Returns only assets that belong to the specified scope. Mutually exclusive with includeDescendants. Valid values: tenant, cluster, department, project.'
      schema:
        type: string
    AssetClusterFilter:
      name: clusterId
      in: query
      description: Filter results by Universally Unique Identifier (UUID) of the cluster. If scope filter is cluster, only assets from the specific cluster will be included in the response. Otherwise, the response will include cluster, tenant and system assets.
      required: false
      schema:
        type: string
        format: uuid
        example: d73a738f-fab3-430a-8fa3-5241493d7128
    IsDistributedQuery:
      name: isDistributed
      in: query
      required: false
      description: Filter results to workload of type distributed.
      schema:
        type: boolean
      allowReserved: true
    AssetDepartmentFilter:
      name: departmentId
      in: query
      description: Filter results by department id. If scope filter is department, only assets from the specific department will be included in the response. Otherwise, the response will include department, cluster, tenant and system assets.
      required: false
      schema:
        type: string
        example: '1'
    AssetNameFilter:
      name: name
      in: query
      required: false
      description: Filter results by name.
      schema:
        type: string
    IsTrainingQuery:
      name: isTraining
      in: query
      required: false
      description: Filter results to workload of type training.
      schema:
        type: boolean
      allowReserved: true
    DistributedFrameworkQuery:
      name: distributedFramework
      in: query
      required: false
      description: Filter results to workload of type distributed and distributedFramework.
      schema:
        type: string
      allowReserved: true
    AssetId:
      name: AssetId
      in: path
      required: true
      description: Unique identifier of the asset.
      schema:
        type: string
        format: uuid
        minLength: 1
  schemas:
    UpdateCount:
      description: the value of an update counter of a data in the system.
      type: integer
      format: int64
      example: 12345
    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
    EnvironmentVariableConfigMap:
      description: Details of the configMap and key use to populate the environment variable
      properties:
        name:
          description: The name of the config-map resource. (mandatory)
          type:
          - string
          - 'null'
          minLength: 1
          example: my-config-map
          pattern: ^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
        key:
          description: The key in the config-map resource. (mandatory)
          type:
          - string
          - 'null'
          minLength: 1
          example: MY_POSTGRES_SCHEMA
          pattern: .*
      type:
      - object
      - 'null'
    SpecificRunAutoScaling:
      properties:
        autoScaling:
          allOf:
          - $ref: '#/components/schemas/AutoScalingCommonFields'
          - $ref: '#/components/schemas/SpecificRunMetricFields'
          type:
          - object
          - 'null'
      type:
      - object
      - 'null'
    WorkloadTemplateCreationRequest:
      required:
      - meta
      - spec
      properties:
        meta:
          $ref: '#/components/schemas/AssetCreationRequest'
        spec:
          $ref: '#/components/schemas/SpecificRunCreationFields'
    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'
    ClusterIdOptional:
      description: The id of the cluster.
      type:
      - string
      - 'null'
      format: uuid
      minLength: 1
      example: 71f69d83-ba66-4822-adf5-55ce55efd210
    SpecificRunCreationFields:
      description: The information needed for creating az template - a set of assets and an optional set of specific environment parameters.
      required:
      - assets
      properties:
        assets:
          $ref: '#/components/schemas/AssetsIds'
        specificEnv:
          $ref: '#/components/schemas/SpecificRunParams'
    PriorityClass:
      description: 'Specifies the priority class for the workload, which determines its scheduling behavior. Valid values are: very-low, low, medium-low, medium, medium-high, high, and very-high. Each workload type has a default priority. To view the default priority for each workload type, use the GET /workload-types endpoint. Once you change the priority from the default value defined for that workload type, the preemptibility field is not automatically updated. Make sure to set the desired preemptibility value.'
      type:
      - string
      - 'null'
      pattern: .*
    Label:
      description: Label details to be populated into the container.
      properties:
        name:
          description: The name of the label (mandatory)
          type:
          - string
          - 'null'
          minLength: 1
          maxLength: 63
          example: stage
          pattern: .*
        value:
          description: The value of the label.
          type:
          - string
          - 'null'
          example: initial-research
          pattern: .*
        exclude:
          description: Use 'true' in case the label is defined in defaults of the policy, and you wish to exclude it from the workload.
          type:
          - boolean
          - 'null'
          example: false
      type:
      - object
      - 'null'
    DatasourceRef:
      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:
          $ref: '#/components/schemas/DataSourceOverrides'
    AssetIdAndKind:
      description: Asset id and its kind.
      required:
      - id
      - kind
      properties:
        id:
          $ref: '#/components/schemas/AssetId'
        kind:
          $ref: '#/components/schemas/AssetKind'
        overrides:
          $ref: '#/components/schemas/DataSourceOverrides'
    Parallelism:
      description: Used with Hyperparameter Optimization. Specifies the maximum number of pods the workload should run at any given time (applicable to standard training only).
      type:
      - integer
      - 'null'
      format: int32
      example: 1
    NodeSelectorTerm:
      type:
      - object
      - 'null'
      description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
      properties:
        matchExpressions:
          description: A list of node selector requirements by node's labels.
          type: array
          items:
            $ref: '#/components/schemas/MatchExpression'
    ImagePullSecrets:
      description: A list of references to Kubernetes secrets in the same namespace used for pulling container images.
      type:
      - array
      - 'null'
      items:
        $ref: '#/components/schemas/ImagePullSecret'
    DistributedFramework:
      description: The distributed training framework used in the workload.
      type:
      - string
      - 'null'
      enum:
      - MPI
      - PyTorch
      - TF
      - XGBoost
      - JAX
    InitialReplicasField:
      properties:
        initialReplicas:
          description: The number of replicas to run when initializing the workload for the first time. Defaults to minReplicas, or to 1 if minReplicas is set to 0
          type:
          - integer
          - 'null'
          format: int32
          minimum: 0
    TolerationEffect:
      description: The taint effect to match. (mandatory)
      type:
      - string
      - 'null'
      enum:
      - NoSchedule
      - NoExecute
      - PreferNoSchedule
      - Any
    Annotation:
      description: Annotation details to be populated into the container.
      properties:
        name:
          description: The name of the annotation (mandatory)
          type:
          - string
          - 'null'
          minLength: 1
          maxLength: 63
          example: billing
          pattern: .*
        value:
          description: The value of the annotation.
          type:
          - string
          - 'null'
          example: my-billing-unit
          pattern: .*
        exclude:
          description: Use 'true' in case the annotation is defined in defaults of the policy, and you wish to exclude it from the workload.
          type:
          - boolean
          - 'null'
          default: false
          example: false
      type:
      - object
      - 'null'
    EnvironmentVariablePodFieldReference:
      description: Details of the field-reference and key use to populate the environment variable
      properties:
        path:
          description: The field path resource. (mandatory)
          type:
          - string
          - 'null'
          minLength: 1
          example: metadata.name
          pattern: .*
      type:
      - object
      - 'null'
    Labels:
      description: Set of labels to populate into the container running the workload.
      type:
      - array
      - 'null'
      items:
        $ref: '#/components/schemas/Label'
    AllowOverQuota:
      properties:
        allowOverQuota:
          description: Whether to allow the workload to exceed the quota of the project.
          type:
          - boolean
          - 'null'
    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
    TerminateAfterPreemption:
      description: Indicates if the job should be terminated by the system after it has been preempted.
      type:
      - boolean
      - 'null'
      example: false
    Preemptibility:
      description: Specifies whether the workload can be preempted by higher-priority workloads. Valid values are preemptible and non-preemptible. If explicitly set, this value takes precedence. If not set, the system derives the preemptibility from the priorityClassName field, ensuring backward compatibility. Each workload type has a default preemptibility. To view the default preemptibility for each workload type, use the GET /workload-types endpoint.
      type:
      - string
      - 'null'
      minLength: 1
      enum:
      - preemptible
      - non-preemptible
    AssetsRefCompute:
      allOf:
      - $ref: '#/components/schemas/AssetRef'
      type:
      - object
      - 'null'
    RunAsUid:
      description: The user id to run the entrypoint of the container which executes the workspace. Default to the value specified in the environment asset `runAsUid` field (optional). Use only when the source uid/gid of the environment asset is not `fromTheImage`, and `overrideUidGidInWorkspace` is enabled.
      type:
      - integer
      - 'null'
      format: int64
      example: 500
    ConcurrencyHardLimitField:
      properties:
        concurrencyHardLimit:
          description: The maximum number of requests allowed to flow to a single replica at any time. 0 means no limit
          type:
          - integer
          - 'null'
          format: int32
          minimum: 0
    MetricThresholdPercentageField:
      properties:
        metricThresholdPercentage:
          description: The percentage of metric threshold value to use for autoscaling. Defaults to 70. Applicable only with the 'throughput' and 'concurrency' metrics
          type:
          - number
          - 'null'
          format: float
          minimum: 1
          maximum: 100
    InferencesMaxReplicasField:
      properties:
        maxReplicas:
          description: The maximum number of replicas for autoscaling. Defaults to minReplicas, or to 1 if minReplicas is set to 0
          type:
          - integer
          - 'null'
          format: int32
          minimum: 1
    EnvironmentVariableOfAsset:
      description: Details of an environment variable which is populated into the container.
      properties:
        name:
          description: The name of the environment variable. (mandatory)
          type:
          - string
          - 'null'
          minLength: 1
          example: HOME
        value:
          description: The value of the environment variable. (mutually exclusive with credential, configMap and podFieldRef)
          type:
          - string
          - 'null'
          example: /home/my-folder
        credential:
          $ref: '#/components/schemas/EnvironmentVariableCredential'
        configMap:
          $ref: '#/components/schemas/EnvironmentVariableConfigMap'
        podFieldRef:
          $ref: '#/components/schemas/EnvironmentVariablePodFieldReference'
        exclude:
          description: Use 'true' in case the environment variable is defined in defaults of the policy, and you wish to exclude it from the workload.
          type:
          - boolean
          - 'null'
          example: false
        description:
          description: Description of the environment variable.
          type:
          - string
          - 'null'
          example: Home directory of the user.
      type:
      - object
      - 'null'
    SpecificRunInfoFields:
      description: Information about the set of assets which comprises a workspace, training or template, and an optional set of specific run parameters.
      required:
      - assets
      properties:
        assets:
          $ref: '#/components/schemas/AssetsRef'
        specificEnv:
          $ref: '#/components/schemas/SpecificRunParams'
        distributed:
          $ref: '#/components/schemas/InfoDistributed'
    InitializationTimeoutField:
      properties:
        initializationTimeoutSeconds:
          description: Use `servingConfiguration.initializationTimeoutSeconds` instead.  If this field is set, it will be ignored and the value under `servingConfiguration` will be used. The maximum amount of time (in seconds) to wait for the container to become ready.
          type:
          - integer
          - 'null'
          format: int32
          minimum: 1
          deprecated: true
    SpecificRunMetricFields:
      properties:
        thresholdMetric:
          $ref: '#/components/schemas/AutoScalingMetric'
        thresholdValue:
          description: The threshold value to use with the specified metric for autoscaling
          type:
          - integer
          - 'null'
          format: int32
      type:
      - object
      - 'null'
    AssetRef:
      description: Reference information about an asset.
      required:
      - id
      - name
      properties:
        id:
          $ref: '#/components/schemas/AssetId'
        name:
          $ref: '#/components/schemas/AssetName'
    AssetUpdateRequest:
      allOf:
      - $ref: '#/components/schemas/AssetUpdatableFields'
      example:
        name: my-asset
    EnvironmentVariableCredential:
      description: Details of the secret and key use to populate the environment variable. (mutually exclusive with value)
      properties:
        assetId:
          description: Unique identifier of the asset. (mandatory)
          type:
          - string
          - 'null'
          minLength: 1
          format: uuid
        key:
          description: The key in the secret resource. (mandatory)
          type:
          - string
          - 'null'
          minLength: 1
          example: POSTGRES_PASSWORD
      type:
      - object
      - 'null'
    WorkloadTemplateListResponse:
      type: object
      required:
      - entries
      properties:
        entries:
          type: array
          items:
            $ref: '#/components/schemas/WorkloadTemplate'
    AutoScalingCommonFields:
      allOf:
      - $ref: '#/components/schemas/MetricThresholdPercentageField'
      - $ref: '#/components/schemas/InferencesMinReplicasField'
      - $ref: '#/components/schemas/InferencesMaxReplicasField'
      - $ref: '#/components/schemas/InitialReplicasField'
      - $ref: '#/components/schemas/ActivationReplicasField'
      - $ref: '#/components/schemas/ConcurrencyHardLimitField'
      - $ref: '#/components/schemas/ScaleToZeroRetentionField'
      - $ref: '#/components/schemas/ScaleDownDelayField'
      - $ref: '#/components/schemas/InitializationTimeoutField'
      type:
      - object
      - 'null'
    AssetName:
      description: The name of the asset.
      type: string
      minLength: 1
      example: my-asset
    Completions:
      description: Used with Hyperparameter Optimization. Specifies the number of successful pods the job should reach to be completed. The Job will be marked as successful once the specified amount of pods has been reached (applicable to standard training only).
      type:
      - integer
      - 'null'
      format: int32
      example: 1
    PodAffinity:
      description: Pod affinity scheduling rules (e.g. co-locate this workload in the same node, zone, etc. as some other workloads).
      type:
      - object
      - 'null'
      properties:
        type:
          $ref: '#/components/schemas/PodAffinityType'
        key:
          description: The label key to use. (mandatory)
          type:
          - string
          - 'null'
          pattern: .*
    Tolerations:
      description: Set of tolerations to apply to the workload.
      type:
      - array
      - 'null'
      items:
        $ref: '#/components/schemas/Toleration'
    AutoDeletionTimeAfterPreemption:
      description: Specifies the duration after which a finished workload (completed or failed) will be automatically deleted. The default is 30 days. Log retention is managed separately.
      format: int64
      type:
      - integer
      - 'null'
      example: 15
    AssetsRef:
      description: Reference information about a set of assets. used to describe - assets comprising a workspace - assets comprising a workspace template - assets that use other assets (e.g. s3 asset which uses access key).
      required:
      - environment
      properties:
        environment:
          description: environment asset.
          allOf:
          - $ref: '#/components/schemas/EnvironmentAssetRef'
        compute:
          $ref: '#/components/schemas/AssetsRefCompute'
        datasources:
          type: array
          items:
            $ref: '#/components/schemas/DatasourceRef'
        workloadVolumes:
          type: array
          items:
            type: string
    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
    SpecificRunConnections:
      properties:
        connections:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SpecificRunConnectionInfo'
      type:
      - object
      - 'null'
    DataSourceOverrides:
      description: specific fields to override in the data source.
      type:
      - object
      - 'null'
      properties:
        containerPath:
          type:
          - string
          - 'null'
          minLength: 1
          example: /container/directory
    ScaleDownDelayField:
      properties:
        scaleDownDelaySeconds:
          description: The minimum amount of time (in seconds) that a replica will remain active after a scale-down decision
          type:
          - integer
          - 'null'
          format: int32
          minimum: 0
          maximum: 3600
    AssetsRefOptional:
      allOf:
      - $ref: '#/components/schemas/AssetsRef'
      type:
      - object
      - 'null'
    ServingPortAccessAuthorizationTypeEnum:
      type:
      - string
      - 'null'
      enum:
      - public
      - authenticatedUsers
      - authorizedUsers
      - authorizedGroups
      - authorizedUsersOrGroups
      description: 'Specifies who can send inference requests to the serving endpoint:


        Possible values:

        - `public`: No authorization is required. (Default)

        - `authenticatedUsers`: Any NVIDIA Run:ai authenticated user and service account can send requests.

        - `authorizedUsers`: Only users listed in the authorizedUsers field can send requests.

        - `authorizedGroups`: Only members of user groups listed in the authorizedGroups field can send requests.

        - `authorizedUsersOrGroups`: Requires either authorizedUsers or authorizedGroups to be provided; if neither is set, or if both are set, a mutual exclusion error is reported. Supported from cluster version 2.19.

        '
    ServingPortAccess:
      properties:
        authorizationType:
          $ref: '#/components/schemas/ServingPortAccessAuthorizationTypeEnum'
        authorizedUsers:
          description: A list of users and service accounts allowed to send inference requests to the serving endpoint. `Note:` Cannot be used together with authorizedGroups.
          type:
          - array
          - 'null'
          items:
            type: string
            pattern: .*
          example:
          - user.a@example.com
          - user.b@example.com
        authorizedGroups:
          description: List of groups that are allowed to access the URL. Note that authorizedUsers and authorizedGroups are mutually exclusive.
          type:
          - array
          - 'null'
          items:
            type: string
            pattern: .*
          example:
          - group-a
          - group-b
        clusterLocalAccessOnly:
          description: Configure the serving port URL to be available only on the cluster-local network, and not externally. Defaults to false
          type:
          - boolean
          - 'null'
    Args:
      description: Arguments to the command that the container running the workload executes.
      type:
      - string
      - 'null'
      minLength: 1
      example: -x my-script.py
      pattern: .*
    AssetsIds:
      description: Set of assets comprising a workspace or a workspace template.
      required:
      - environment
      properties:
        environment:
          $ref: '#/components/schemas/AssetId'
        compute:
          type:
          - string
          - 'null'
          allOf:
          - $ref: '#/components/schemas/AssetId'
        datasources:
          type: array
          items:
            $ref: '#/components/schemas/AssetIdAndKind'
        workloadVolumes:
          type: array
          items:
            type: string
    Command:
      description: A command to the server as the entry point of the container running the workload.
      type:
      - string
      - 'null'
      minLength: 1
      example: python
      pattern: .*
    Category:
      description: Specify 

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