NVIDIA Run:ai Template API
Templates are a pre-set configuration used to quickly configure and submit workloads using existing assets.
Templates are a pre-set configuration used to quickly configure and submit workloads using existing assets.
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 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:
schemas:
Category:
description: Specify the workload category assigned to the workload. Categories are used to classify and monitor different types of workloads within the NVIDIA Run:ai platform.
type: string
nullable: true
pattern: .*
DataSourceOverrides:
description: specific fields to override in the data source.
type: object
nullable: true
properties:
containerPath:
type: string
minLength: 1
example: /container/directory
nullable: true
NodeAffinityRequired:
type: object
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
properties:
nodeSelectorTerms:
description: A list of node selector terms. The terms are ORed.
type: array
items:
$ref: '#/components/schemas/NodeSelectorTerm'
nullable: true
Labels:
description: Set of labels to populate into the container running the workload.
type: array
items:
$ref: '#/components/schemas/Label'
nullable: true
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
format: int32
minimum: 1
nullable: true
deprecated: true
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
EnvironmentAssetRef:
description: Reference information about environment asset.
required:
- id
- name
properties:
id:
$ref: '#/components/schemas/AssetId'
name:
$ref: '#/components/schemas/AssetName'
toolTypes:
description: the type of tools as defined in the connections of the environment asset.
type: array
nullable: true
items:
$ref: '#/components/schemas/ToolType'
SpecificRunConnections:
properties:
connections:
type: array
items:
$ref: '#/components/schemas/SpecificRunConnectionInfo'
nullable: true
nullable: true
type: object
TerminationGracePeriod:
description: Duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down).
format: int64
type: integer
minimum: 0
example: 20
nullable: true
AssetName:
description: The name of the asset.
type: string
minLength: 1
example: my-asset
Toleration:
description: Toleration details.
properties:
name:
description: The name of the toleration.
type: string
minLength: 1
nullable: true
pattern: .*
operator:
$ref: '#/components/schemas/TolerationOperator'
key:
description: The taint key that the toleration applies to. (mandatory)
type: string
nullable: true
pattern: .*
value:
description: The taint value the toleration matches to. Mandatory if operator is Exists, forbidden otherwise.
type: string
nullable: true
pattern: .*
effect:
$ref: '#/components/schemas/TolerationEffect'
seconds:
description: The period of time the toleration tolerates the taint. Valid only if effect is NoExecute. taint.
type: integer
minimum: 1
nullable: true
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
example: false
nullable: true
nullable: true
type: object
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
WorkloadTemplate:
required:
- meta
- spec
properties:
meta:
$ref: '#/components/schemas/AssetMeta'
spec:
$ref: '#/components/schemas/SpecificRunInfoFields'
AssetsRefOptional:
allOf:
- $ref: '#/components/schemas/AssetsRef'
type: object
nullable: true
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
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
format: int32
minimum: 1
nullable: true
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
minLength: 1
format: uuid
nullable: true
key:
description: The key in the secret resource. (mandatory)
type: string
minLength: 1
example: POSTGRES_PASSWORD
nullable: true
nullable: true
type: object
RunAsGid:
description: The group id to run the entrypoint of the container which executes the workspace. Default to the value specified in the environment asset `runAsGid` field (optional). Use only when the source uid/gid of the environment asset is not `fromTheImage`, and `overrideUidGidInWorkspace` is enabled.
type: integer
format: int64
example: 30
nullable: true
Annotations:
description: Set of annotations to populate into the container running the workload.
type: array
items:
$ref: '#/components/schemas/Annotation'
nullable: true
AutoScalingMetric:
description: The metric to use for autoscaling. Mandatory if minReplicas < maxReplicas, except for the special case where minReplicas is set to 0 and maxReplicas is set to 1, as in this case autoscaling decisions are made according to network activity rather than metrics. Use one of the built-in metrics of 'throughput', 'concurrency' or 'latency', or any other available custom metric. Only the 'throughput' and 'concurrency' metrics support scale-to-zero
type: string
pattern: ^[a-zA-Z_:][a-zA-Z0-9_:]*$
example: http_requests_total
nullable: true
SpecificRunParams:
allOf:
- $ref: '#/components/schemas/SpecificRunConnections'
- nullable: true
properties:
annotations:
$ref: '#/components/schemas/Annotations'
args:
$ref: '#/components/schemas/Args'
autoDeletionTimeAfterCompletionSeconds:
$ref: '#/components/schemas/AutoDeletionTimeAfterPreemption'
backoffLimit:
$ref: '#/components/schemas/BackoffLimit'
category:
$ref: '#/components/schemas/Category'
command:
$ref: '#/components/schemas/Command'
completions:
$ref: '#/components/schemas/Completions'
environmentVariables:
$ref: '#/components/schemas/EnvironmentVariablesOfAsset'
imagePullSecrets:
$ref: '#/components/schemas/ImagePullSecrets'
labels:
$ref: '#/components/schemas/Labels'
nodeAffinityRequired:
$ref: '#/components/schemas/NodeAffinityRequired'
nodePools:
$ref: '#/components/schemas/NodePools'
nodeType:
$ref: '#/components/schemas/NodeType1'
parallelism:
$ref: '#/components/schemas/Parallelism'
podAffinity:
$ref: '#/components/schemas/PodAffinity'
preemptibility:
$ref: '#/components/schemas/Preemptibility'
priorityClass:
$ref: '#/components/schemas/PriorityClass'
restartPolicy:
$ref: '#/components/schemas/RestartPolicy'
runAsGid:
$ref: '#/components/schemas/RunAsGid'
runAsUid:
$ref: '#/components/schemas/RunAsUid'
supplementalGroups:
$ref: '#/components/schemas/SupplementalGroups'
terminateAfterPreemption:
$ref: '#/components/schemas/TerminateAfterPreemption'
terminationGracePeriodSeconds:
$ref: '#/components/schemas/TerminationGracePeriod'
tolerations:
$ref: '#/components/schemas/Tolerations'
type: object
- $ref: '#/components/schemas/AllowOverQuota'
- $ref: '#/components/schemas/SpecificRunAutoScaling'
- $ref: '#/components/schemas/SpecificRunServingPortAccess'
description: 'Parameters which apply to a specific workload. They complement the information gathered from the assets comprising the workload.
'
nullable: true
type: object
MatchExpressionOperator:
description: Represents a key's relationship to a set of values (mandatory).
type: string
enum:
- In
- NotIn
- Exists
- DoesNotExist
- Gt
- Lt
TolerationEffect:
description: The taint effect to match. (mandatory)
type: string
enum:
- NoSchedule
- NoExecute
- PreferNoSchedule
- Any
nullable: true
AssetDescription:
description: The description of the asset.
type: string
minLength: 1
maxLength: 250
example: description of my asset.
nullable: true
AllowOverQuota:
properties:
allowOverQuota:
description: Whether to allow the workload to exceed the quota of the project.
type: boolean
nullable: true
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'
AssetId:
description: Unique identifier of the asset.
type: string
format: uuid
minLength: 1
SpecificRunAutoScaling:
properties:
autoScaling:
allOf:
- $ref: '#/components/schemas/AutoScalingCommonFields'
- $ref: '#/components/schemas/SpecificRunMetricFields'
nullable: true
type: object
nullable: true
type: object
AssetsIds:
description: Set of assets comprising a workspace or a workspace template.
required:
- environment
properties:
environment:
$ref: '#/components/schemas/AssetId'
compute:
nullable: true
type: string
allOf:
- $ref: '#/components/schemas/AssetId'
datasources:
type: array
items:
$ref: '#/components/schemas/AssetIdAndKind'
workloadVolumes:
type: array
items:
type: string
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
minLength: 1
enum:
- preemptible
- non-preemptible
nullable: true
SupplementalGroups:
description: Comma separated list of groups that the user running the container belongs to, in addition to the group indicated by runAsGid. Use only when the source uid/gid of the environment asset is not `fromTheImage`, and `overrideUidGidInWorkspace` is enabled. Using an empty string implies reverting the supplementary groups of the image.
type: string
example: 2,3,5,8
nullable: true
pattern: .*
NodeType1:
description: Nodes (machines), or a group of nodes on which the workload will run. To use this feature, your Administrator will need to label nodes. For more information, see [Group Nodes](https://docs.run.ai/latest/admin/researcher-setup/limit-to-node-group). When using this flag with with Project-based affinity, it refines the list of allowable node groups set in the Project. For more information, see [Projects](https://docshub.run.ai/guides/platform-management/aiinitiatives/organization/projects).
type: string
minLength: 1
example: my-node-type
nullable: true
pattern: .*
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
format: int32
nullable: true
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
minLength: 1
nullable: true
updateCount:
$ref: '#/components/schemas/UpdateCount'
type: object
UpdateCount:
description: the value of an update counter of a data in the system.
type: integer
format: int64
example: 12345
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
format: int32
example: 1
nullable: true
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
format: int32
minimum: 0
nullable: true
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
ImagePullSecrets:
description: A list of references to Kubernetes secrets in the same namespace used for pulling container images.
type: array
items:
$ref: '#/components/schemas/ImagePullSecret'
nullable: true
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
format: int32
example: 1
nullable: true
Annotation:
description: Annotation details to be populated into the container.
properties:
name:
description: The name of the annotation (mandatory)
type: string
minLength: 1
maxLength: 63
example: billing
nullable: true
pattern: .*
value:
description: The value of the annotation.
type: string
example: my-billing-unit
nullable: true
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
default: false
example: false
nullable: true
nullable: true
type: object
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'
SpecificRunMetricFields:
properties:
thresholdMetric:
$ref: '#/components/schemas/AutoScalingMetric'
thresholdValue:
description: The threshold value to use with the specified metric for autoscaling
type: integer
format: int32
nullable: true
type: object
nullable: true
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
minLength: 1
example: my-config-map
nullable: true
pattern: ^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
key:
description: The key in the config-map resource. (mandatory)
type: string
minLength: 1
example: MY_POSTGRES_SCHEMA
nullable: true
pattern: .*
nullable: true
type: object
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'
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'
nullable: true
type: object
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'
NodePools:
description: A prioritized list of node pools for the scheduler to run the workload on. The scheduler will always try to use the first node pool before moving to the next one if the first is not available.
type: array
items:
type: string
pattern: .*
example:
- my-node-pool-a
- my-node-pool-b
nullable: true
InferencesMinReplicasField:
properties:
minReplicas:
description: The minimum number of replicas for autoscaling. Defaults to 1. Use 0 to allow scale-to-zero
type: integer
format: int32
minimum: 0
nullable: true
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
format: float
minimum: 1
maximum: 100
nullable: true
PodAffinity:
description: Pod affinity scheduling rules (e.g. co-locate this workload in the same node, zone, etc. as some other workloads).
type: object
properties:
type:
$ref: '#/components/schemas/PodAffinityType'
key:
description: The label key to use. (mandatory)
type: string
nullable: true
pattern: .*
nullable: true
ServingPortAccessAuthorizationTypeEnum:
type: string
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.
'
nullable: true
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
minLength: 1
example: metadata.name
nullable: true
pattern: .*
nullable: true
type: object
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
minLength: 1
example: HOME
nullable: true
value:
description: The value of the environment variable. (mutually exclusive with credential, configMap and podFieldRef)
type: string
example: /home/my-folder
nullable: true
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
example: false
nullable: true
description:
description: Description of the environment variable.
type: string
example: Home directory of the user.
nullable: true
nullable: true
type: object
MatchExpression:
type: object
description: A selector that contains values, a key, and an operator that relates the key and values.
properties:
key:
description: The label key that the selector applies to (mandatory).
type: string
pattern: .*
operator:
$ref: '#/components/schemas/MatchExpressionOperator'
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer.
type: array
items:
# --- 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