NVIDIA Run:ai PVC API
Use a PVC as a data source location for data sets that are relevant to the workload being submitted.
Use a PVC as a data source location for data sets that are relevant to the workload being submitted.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/runai-pvc-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: latest
description: '# Introduction
The NVIDIA Run:ai Control-Plane API reference is a guide that provides an easy-to-use programming interface for adding various tasks to your application, including workload submission, resource management, and administrative operations.
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 PVC 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: PVC
description: Use a PVC as a data source location for data sets that are relevant to the workload being submitted.
paths:
/api/v1/asset/datasource/pvc:
get:
summary: List PVC assets.
description: Retrieves a list of PVC datasource assets.
operationId: list_pvc_assets
tags:
- PVC
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/ComplyToProject'
- $ref: '#/components/parameters/ComplyToWorkloadType'
- $ref: '#/components/parameters/IncludeStatus'
- $ref: '#/components/parameters/AssetIdsFilter'
- $ref: '#/components/parameters/ComplyToReplicaType'
responses:
'200':
description: Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PVCListResponse'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
post:
summary: Create a PVC asset.
description: Use to create a PVC datasource asset.
operationId: create_pvc_asset
tags:
- PVC
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PVCCreationRequest'
responses:
'202':
description: Request accepted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PVCAsset'
'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/datasource/pvc/{AssetId}:
parameters:
- $ref: '#/components/parameters/AssetId'
get:
summary: Get a PVC asset.
description: Retrieve the details of a PVC datasource asset by id.
operationId: get_pvc_asset_by_id
tags:
- PVC
parameters:
- $ref: '#/components/parameters/IncludeUsageInfo'
- $ref: '#/components/parameters/ComplyToProject'
- $ref: '#/components/parameters/ComplyToWorkloadType'
- $ref: '#/components/parameters/IncludeStatus'
- $ref: '#/components/parameters/ComplyToReplicaType'
responses:
'200':
description: Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PVCAsset'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
'503':
$ref: '#/components/responses/503ServiceUnavailable'
put:
summary: Update a PVC asset.
description: Use to update the details of a PVC datasource asset by id.
operationId: update_pvc_asset_by_id
tags:
- PVC
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PVCUpdateRequest'
responses:
'202':
description: Request accepted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PVCAsset'
'401':
$ref: '#/components/responses/401Unauthorized'
'403':
$ref: '#/components/responses/403Forbidden'
'404':
$ref: '#/components/responses/404NotFound'
default:
$ref: '#/components/responses/503ServiceUnavailable'
delete:
summary: Delete a PVC asset.
description: Use to delete a PVC datasource asset by id.
operationId: delete_pvc_asset_by_id
tags:
- PVC
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'
/api/v1/asset/datasource/pvc/{AssetId}/history:
get:
summary: Get the PVC history.
description: Retrieve PVC history details, including events, using a PVC id.
operationId: get_pvc_history
tags:
- PVC
parameters:
- $ref: '#/components/parameters/AssetId'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Executed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/PVCHistoryResponse'
'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
IncludeStatus:
name: statusInfo
in: query
required: false
description: Whether the query should include asset status information as part of the response.
schema:
type: boolean
Limit:
name: limit
in: query
required: false
description: The maximum number of entries to return.
schema:
type: integer
format: int32
default: 50
minimum: 1
maximum: 500
Offset:
name: offset
in: query
required: false
description: The offset of the first item returned in the collection.
schema:
type: integer
format: int32
example: 100
ComplyToProject:
name: complyToProject
in: query
required: false
description: Include workload creation compliance information of an asset, for a given project, as part of the response. To check compliance, you need to provide both project id and workload type.
schema:
type: integer
format: int32
IncludeUsageInfo:
name: usageInfo
in: query
required: false
description: Whether the query should include asset usage information as part of the response.
schema:
type: boolean
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
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
ComplyToReplicaType:
name: complyToReplicaType
in: query
required: false
description: Include workload creation compliance information of an asset, for a given replica type, as part of the response. To check compliance, you need to provide both project id and workload type. For distributed, replica type should be provided as well.
schema:
type: string
enum:
- Worker
- Master
AssetIdsFilter:
name: assetIds
in: query
required: false
description: Filter results by the ids of the assets. Provided value should be a comma separated string of UUIDs.
schema:
type: string
example: dbf4767e-2fa1-43b0-97a2-7c0cecda180b,550e8400-e29b-41d4-a716-44665544000a
pattern: ^\b(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})(?:,(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}))*\b$
ComplyToWorkloadType:
name: complyToWorkloadType
in: query
required: false
description: Include workload creation compliance information of an asset, for a given workload type, as part of the response. To check compliance, you need to provide both project id and workload type.
schema:
type: string
enum:
- Workspace
- Training
- Distributed
- Inference
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
AssetClusterStatusInfo:
properties:
status:
$ref: '#/components/schemas/AssetSyncStatusEnum'
issues:
$ref: '#/components/schemas/AssetClusterStatusIssues'
message:
type: string
url:
type: string
type:
- object
- 'null'
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
AssetPhaseUpdate:
type:
- object
- 'null'
required:
- phase
- phaseMessage
properties:
phase:
type: string
example: Creating
phaseMessage:
type: string
example: Creating PVC asset pvc-123
WorkloadId1:
description: A unique ID of the workload.
type: string
format: uuid
PvcVolumeMode:
description: Default volume mode for the PVC. Choose between Filesystem (default) or Block.
type:
- string
- 'null'
enum:
- Filesystem
- Block
PvcClaimSize:
description: 'Requested size for the PVC. Mandatory when existingPvc is false. Recommended sizes: TB/GB/MB/TIB/GIB/MIB'
type:
- string
- 'null'
pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
example: 1G
AssetsUsageRef:
description: Reference information about usage of assets by other assets, for example datasources that uses credentials.
properties:
environment:
type:
- object
- 'null'
description: environment asset.
allOf:
- $ref: '#/components/schemas/EnvironmentAssetRef'
deprecated: true
environments:
type: array
items:
$ref: '#/components/schemas/AssetRef'
compute:
$ref: '#/components/schemas/AssetsUsageRefCompute'
deprecated: true
computes:
type: array
items:
$ref: '#/components/schemas/AssetRef'
datasources:
type: array
items:
$ref: '#/components/schemas/AssetDatasourceRef'
PvcFieldsNonUpdatable:
properties:
existingPvc:
description: Verify existing PVC. PVC is assumed to exist when set to `true`. If set to `false`, the PVC will be created, if it does not exist.
type:
- boolean
- 'null'
default: false
claimName:
description: Name for the PVC. Allow referencing it across workloads. If not provided, a name based on the workload name and scope will be auto-generated.
type:
- string
- 'null'
minLength: 1
maxLength: 63
example: my-claim
pattern: .*
readOnly:
description: Permit only read access to PVC.
type:
- boolean
- 'null'
default: false
ephemeral:
description: Use `true` to set PVC to ephemeral. If set to `true`, the PVC will be deleted when the workload is stopped. Not supported for inference workloads.
type:
- boolean
- 'null'
default: false
example: false
claimInfo:
$ref: '#/components/schemas/ClaimInfo'
dataSharing:
description: use `true` to share the PVC data to all projects under the selected scope.
type:
- boolean
- 'null'
default: false
example: false
type:
- object
- '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
PvcAddedAttrValues:
description: an optional array of key-values pairs that are written as annotations on the created PVC. the allowed attributes are determined according to the storage class configuration (see k8s-objects-tracker for further info).
type: array
items:
$ref: '#/components/schemas/PvcAddedAttrValue'
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:
$ref: '#/components/schemas/DataSourceOverrides'
deprecated: true
PVCAsset:
required:
- meta
- spec
properties:
meta:
$ref: '#/components/schemas/AssetMeta'
spec:
$ref: '#/components/schemas/PVCAssetSpec'
usedBy:
$ref: '#/components/schemas/AssetUsageInfo'
usageTimes:
$ref: '#/components/schemas/UsageTimesInfo'
compliance:
$ref: '#/components/schemas/ComplianceInfo'
status:
$ref: '#/components/schemas/AssetClusterStatusInfo'
clusterInfo:
$ref: '#/components/schemas/ClusterInfo1'
WorkloadName:
description: The name of the workload.
type: string
minLength: 1
example: my-workload-name
pattern: .*
AssetClusterStatusIssues:
type: array
items:
$ref: '#/components/schemas/AssetClusterStatusIssue'
AssetUpdateRequest:
allOf:
- $ref: '#/components/schemas/AssetUpdatableFields'
example:
name: my-asset
AssetRef:
description: Reference information about an asset.
required:
- id
- name
properties:
id:
$ref: '#/components/schemas/AssetId'
name:
$ref: '#/components/schemas/AssetName'
ScopeType:
type: string
enum:
- system
- tenant
- cluster
- department
- project
ScopeId:
type: string
description: The id of the cluster, department or project, depending on the scope type.
ComplianceInfo:
description: Compliance of an asset with creation of workloads in a given project.
properties:
imposed:
description: Whether the asset is imposed on created workloads by the administrator.
type: boolean
compliance:
description: Whether the asset info complies with creation of workloads in the project.
type: boolean
reason:
description: For asset that does not comply, specify one or more reason why.
type: array
items:
$ref: '#/components/schemas/ComplianceInfoReason'
type:
- object
- 'null'
PvcAccessModes:
description: Default access mode(s) applied to newly created PVCs unless explicitly overridden.
properties:
readWriteOnce:
description: Mount the volume as read/write by a single node.
type:
- boolean
- 'null'
default: true
readOnlyMany:
description: Mount the volume as read-only by many nodes.
type:
- boolean
- 'null'
default: false
readWriteMany:
description: Mount the volume as read/write by many nodes.
type:
- boolean
- 'null'
default: false
type:
- object
- 'null'
AssetName:
description: The name of the asset.
type: string
minLength: 1
example: my-asset
PVCListResponse:
required:
- entries
properties:
entries:
type: array
items:
$ref: '#/components/schemas/PVCAsset'
Event1:
type:
- object
- 'null'
required:
- createdAt
- type
- clusterId
- message
properties:
createdAt:
type: string
format: date-time
example: '2022-01-01T03:49:52.531Z'
id:
type: string
format: uuid
type:
type: string
example: Normal
clusterId:
$ref: '#/components/schemas/ClusterId'
message:
type: string
example: Started container z
reason:
type: string
example: Started
source:
type: string
example: kubelet
involvedObject:
$ref: '#/components/schemas/InvolvedObject'
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
HistoryRecords:
type: array
items:
$ref: '#/components/schemas/HistoryRecord'
x-schema-name: HistoryRecords
DataSourceOverrides:
description: specific fields to override in the data source.
type:
- object
- 'null'
properties:
containerPath:
type:
- string
- 'null'
minLength: 1
example: /container/directory
AssetClusterStatusIssue:
type: object
required:
- scopeId
- scopeType
- issue
properties:
scopeId:
$ref: '#/components/schemas/ScopeId'
scopeType:
$ref: '#/components/schemas/ScopeType'
issue:
$ref: '#/components/schemas/AssetClusterStatusIssueEnum'
PolicyRuleEnum:
description: Indicates which validation rule (e.g., min, max, step, options, required, canEdit, canAdd) conflicted with policy restrictions, causing the asset or template to be rejected.
type:
- string
- 'null'
enum:
- min
- max
- step
- options
- required
- canEdit
- canAdd
- locked
HistoryRecord:
type: object
required:
- meta
- spec
properties:
meta:
$ref: '#/components/schemas/HistoryRecordMeta'
spec:
type: object
properties:
event:
$ref: '#/components/schemas/Event1'
phaseUpdate:
$ref: '#/components/schemas/AssetPhaseUpdate'
AssetUsageInfo:
description: Details about resources that use the asset.
properties:
workspaces:
description: workspaces that rely on this asset.
type: array
items:
$ref: '#/components/schemas/WorkloadRefAndStatus'
trainings:
description: trainings that rely on this asset.
type: array
items:
$ref: '#/components/schemas/WorkloadRefAndStatus'
distributed:
description: distributed trainings that rely on this asset.
type: array
items:
$ref: '#/components/schemas/WorkloadRefAndStatus'
inferences:
description: inferences that rely on this asset.
type: array
items:
$ref: '#/components/schemas/WorkloadRefAndStatus'
templates:
description: templates that rely on this asset.
type: array
items:
$ref: '#/components/schemas/AssetRef'
assets:
description: list of other assets that use this asset. specifically, accessKeys used by s3, and passwords used by git.
$ref: '#/components/schemas/AssetsUsageRef'
type:
- object
- 'null'
PVCCreationRequest:
required:
- meta
- spec
properties:
meta:
$ref: '#/components/schemas/AssetCreationRequest'
spec:
$ref: '#/components/schemas/PVCAssetSpec'
ClaimInfo:
description: Claim information for the newly created PVC. The information should not be provided when attempting to use existing PVC.
properties:
size:
$ref: '#/components/schemas/PvcClaimSize'
storageClass:
description: Storage class name to associate with the PVC. This parameter may be omitted if there is a single storage class in the system, or you are using the default storage class. For more information, see [Storage class](https://kubernetes.io/docs/concepts/storage/storage-classes).
type:
- string
- 'null'
minLength: 1
example: my-storage-class
pattern: ^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
accessModes:
$ref: '#/components/schemas/PvcAccessModes'
volumeMode:
$ref: '#/components/schemas/PvcVolumeMode'
addedAttrValues:
$ref: '#/components/schemas/PvcAddedAttrValues'
type:
- object
- 'null'
PvcAddedAttrValue:
type: object
required:
- key
properties:
key:
type: string
minLength: 1
maxLength: 63
pattern: ^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$
example: dnsname
value:
type: string
example: my.dns.com
pattern: .*
AssetUpdatableFields:
required:
- name
properties:
name:
$ref: '#/components/schemas/AssetName'
description:
$ref: '#/components/schemas/AssetDescription'
Pvc:
allOf:
- $ref: '#/components/schemas/PvcFieldsUpdatable'
- $ref: '#/components/schemas/PvcFieldsNonUpdatable'
PVCAssetSpec:
allOf:
- $ref: '#/components/schemas/Pvc'
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
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
HttpResponse:
required:
- code
- message
properties:
code:
type: integer
minimum: 100
maximum: 599
message:
type: string
ClusterInfo1:
description: Cluster related information of the asset.
properties:
resources:
type: array
items:
$ref: '#/components/schemas/ClusterResourceInfo'
type:
- object
- 'null'
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
AssetsUsageRefCompute:
allOf:
- $ref: '#/components/schemas/AssetRef'
type:
- object
- 'null'
AssetClusterStatusIssueEnum:
type: string
enum:
- ReplicationError
- LostPhase
- NotCreated
ClusterId:
description: The id of the cluster.
type: string
format: uuid
example: 71f69d83-ba66-4822-adf5-55ce55efd210
UsageTimesInfo:
description: Details about times the asset has been used by workloads, etc.
properties:
lastUsedByWorkload:
description: The time at which the asset were last used by a workload of given type and project. This field requires complyToProject and complyToWorkload types flags of the API, to specify the workload type and project id.
type:
- string
- 'null'
minLength: 1
format: date-time
type:
- object
- 'null'
AssetId:
description: Unique identifier of the asset.
type: string
format: uuid
minLength: 1
PVCUpdateRequest:
required:
- meta
- spec
properties:
meta:
$ref: '#/components/schemas/AssetUpdateRequest'
spec:
$ref: '#/components/schemas/PvcFieldsUpdatable'
HistoryRecordType:
type: string
enum:
- Event
- PhaseUpdate
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
- 'null'
items:
$ref: '#/components/schemas/ToolType'
AssetDescription:
description: The description of the asset.
type:
- string
- 'null'
minLength: 1
maxLength: 250
example: description of my asset.
WorkloadRefAndStatus:
description: Id, name and status of a workspace or training
required:
- id
- name
properties:
id:
$ref: '#/components/schemas/WorkloadId1'
name:
$ref: '#/components/schemas/WorkloadName'
status:
description: The status of the workspace or training.
type: string
minLength: 1
PVCHistoryResponse:
type: object
required:
- records
properties:
next:
type: integer
example: 1
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/runai/refs/heads/main/openapi/runai-pvc-api-openapi.yml