# Compute

A compute resource is a building block that represents compute resources such as GPUs, CPU cores, and CPU memory. The compute resources may consist of multiple physical resources, for example, 0.5 GPU, 8 cores and 200 Megabytes of CPU memory. A compute resource is available to a scope and and all of the organizational units within that scope.

For more information, see [Compute resource](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/compute-resources).

## List compute assets.

> Use to retrieve a list of compute assets.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Compute","description":"A compute resource is a building block that represents compute resources such as GPUs, CPU cores, and CPU memory.\nThe compute resources may consist of multiple physical resources, for example, 0.5 GPU, 8 cores and 200 Megabytes of CPU memory. \nA compute resource is available to a scope and and all of the organizational units within that scope. \n      \nFor more information, see [Compute resource](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/compute-resources).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"AssetNameFilter":{"name":"name","in":"query","required":false,"description":"Filter results by name.","schema":{"type":"string"}},"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"}},"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"}},"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"}},"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"}},"IncludeUsageInfo":{"name":"usageInfo","in":"query","required":false,"description":"Whether the query should include asset usage information as part of the response.","schema":{"type":"boolean"}},"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"}},"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"]}},"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"]}},"includeDescendants":{"name":"includeDescendants","in":"query","required":false,"description":"Indicates whether to include assets from all descendant scopes under the specified scope. When set to true, and a specific scope identifier (for example, clusterId) is provided, the query also returns assets from all nested scopes within it (for example, departments and projects).  Mutually exclusive with scope.","schema":{"type":"boolean"}}},"schemas":{"ComputeListResponse":{"required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/ComputeAsset"}}}},"ComputeAsset":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/ComputeAssetSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"usageTimes":{"$ref":"#/components/schemas/UsageTimesInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"}}},"AssetMeta":{"allOf":[{"$ref":"#/components/schemas/AssetUpdatableFields"},{"$ref":"#/components/schemas/AssetCreationFields"},{"$ref":"#/components/schemas/AssetReadOnlyFields"}]},"AssetUpdatableFields":{"required":["name"],"properties":{"name":{"$ref":"#/components/schemas/AssetName"},"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetName":{"description":"The name of the asset.","type":"string","minLength":1},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"AssetCreationFields":{"type":"object","required":["scope"],"properties":{"scope":{"$ref":"#/components/schemas/Scope"},"clusterId":{"$ref":"#/components/schemas/ClusterIdOptional"},"departmentId":{"description":"The id of the department. Must be specified for department scoped assets.","type":"string","nullable":true,"minLength":1},"projectId":{"description":"The id of the project. Must be specified for project scoped assets.","type":"integer","format":"int32","nullable":true},"autoDelete":{"description":"The asset will be deleted automatically. This is intended for internal use.","type":"boolean","nullable":true,"default":false},"workloadSupportedTypes":{"$ref":"#/components/schemas/WorkloadSupportedTypes"},"private":{"description":"The asset will be private to the user who created it. supported only for docker registry and generic secrets","type":"boolean","nullable":true,"default":false}}},"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"]},"ClusterIdOptional":{"description":"The id of the cluster.","type":"string","format":"uuid","minLength":1,"nullable":true},"WorkloadSupportedTypes":{"properties":{"inference":{"description":"Is inference a supported workload type.","type":"boolean","nullable":true},"workspace":{"description":"Is workspace a supported workload type.","type":"boolean","nullable":true},"training":{"description":"Is training a supported workload type.","type":"boolean","nullable":true},"distributed":{"description":"Is distributed a supported workload type.","type":"boolean","nullable":true},"distFramework":{"description":"The distributed training framework used in the workload.","type":"string","enum":["MPI","PyTorch","TF","XGBoost"],"nullable":true}},"nullable":true,"type":"object"},"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"},"AssetId":{"description":"Unique identifier of the asset.","type":"string","format":"uuid","minLength":1},"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"]},"UpdateCount":{"description":"the value of an update counter of a data in the system.","type":"integer","format":"int64"},"ComputeAssetSpec":{"properties":{"cpuCoreLimit":{"$ref":"#/components/schemas/CpuCoreLimit"},"cpuCoreRequest":{"$ref":"#/components/schemas/CpuCoreRequest"},"cpuMemoryLimit":{"$ref":"#/components/schemas/CpuMemoryLimit"},"cpuMemoryRequest":{"$ref":"#/components/schemas/CpuMemoryRequest"},"extendedResources":{"$ref":"#/components/schemas/ExtendedResources"},"gpuDevicesRequest":{"$ref":"#/components/schemas/GpuDevicesRequest"},"gpuMemoryLimit":{"$ref":"#/components/schemas/GpuMemoryLimit"},"gpuMemoryRequest":{"$ref":"#/components/schemas/GpuMemoryRequest"},"gpuPortionLimit":{"$ref":"#/components/schemas/GpuPortionLimit"},"gpuPortionRequest":{"$ref":"#/components/schemas/GpuPortionRequest"},"gpuRequestType":{"$ref":"#/components/schemas/GpuRequestType"},"largeShmRequest":{"$ref":"#/components/schemas/LargeShmRequest"}},"type":"object"},"CpuCoreLimit":{"description":"Limitations on the number of CPUs consumed by the workload (0.5, 1, .etc). The system guarantees that this workload will not be able to consume more than this amount of CPUs.","format":"double","type":"number","nullable":true,"minimum":0},"CpuCoreRequest":{"description":"CPU units to allocate for the created workload (0.5, 1, .etc). The workload will receive at least this amount of CPU. Note that the workload will not be scheduled unless the system can guarantee this amount of CPUs to the workload.","format":"double","type":"number","nullable":true,"minimum":0},"CpuMemoryLimit":{"description":"Limitations on the CPU memory to allocate for this workload (1G, 20M, .etc). The system guarantees that this workload will not be able to consume more than this amount of memory. The workload will receive an error when trying to allocate more memory than this limit.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"CpuMemoryRequest":{"description":"The amount of CPU memory to allocate for this workload (1G, 20M, .etc). The workload will receive at least this amount of memory. Note that the workload will not be scheduled unless the system can guarantee this amount of memory to the workload","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"ExtendedResources":{"description":"Extended resources and their quantity.","type":"array","items":{"$ref":"#/components/schemas/ExtendedResource"},"maxItems":1000,"nullable":true},"ExtendedResource":{"description":"Quantity of an extended resource.","properties":{"resource":{"description":"The name of the extended resource (mandatory)","type":"string","minLength":1,"maxLength":253,"nullable":true,"pattern":".*"},"quantity":{"description":"The requested quantity for the resource.","type":"string","minLength":1,"maxLength":63,"nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"exclude":{"description":"Use 'true' in case the extended resource is defined in defaults of the policy, and you wish to exclude it from the workload.","type":"boolean","nullable":true}},"nullable":true,"type":"object"},"GpuDevicesRequest":{"description":"Requested number of GPU devices. Currently if more than one device is requested, it is not possible to provide values for gpuMemory or gpuPortion.","type":"integer","format":"int32","nullable":true,"minimum":0},"GpuMemoryLimit":{"description":"Limitation on the memory consumed by the workload, per GPU device. The system guarantees The gpuMemoryLimit must be no less than gpuMemoryRequest.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"GpuMemoryRequest":{"description":"Required if and only if gpuRequestType is memory. States the GPU memory to allocate for the created workload, per GPU device. Note that the workload will not be scheduled unless the system can guarantee this amount of GPU memory to the workload.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"GpuPortionLimit":{"description":"Limitations on the portion consumed by the workload, per GPU device. The system guarantees The gpuPotionLimit must be no less than the gpuPortionRequest.","type":"number","format":"double","nullable":true,"minimum":0},"GpuPortionRequest":{"description":"Required if and only if gpuRequestType is portion. States the portion of the GPU to allocate for the created workload, per GPU device, between 0 and 1. The default is no allocated GPUs.","type":"number","format":"double","nullable":true,"minimum":0},"GpuRequestType":{"description":"Sets the unit type for GPU resources requests. Stated in terms of portion or memory. Sets the unit type for other GPU request fields. If `gpuDevicesRequest > 1`, only `portion` is supported. If `gpuDeviceRequest = 1`, the request type can be stated as `portion` or `memory`.","type":"string","minLength":1,"enum":["portion","memory"],"nullable":true},"LargeShmRequest":{"description":"A large /dev/shm device to mount into a container running the created workload. An shm is a shared file system mounted on RAM.","type":"boolean","nullable":true},"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"}},"nullable":true,"type":"object"},"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}}},"WorkloadId1":{"description":"A unique ID of the workload.","type":"string","format":"uuid"},"WorkloadName":{"description":"The name of the workload.","type":"string","minLength":1,"pattern":".*"},"AssetRef":{"description":"Reference information about an asset.","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/AssetId"},"name":{"$ref":"#/components/schemas/AssetName"}}},"AssetsUsageRef":{"description":"Reference information about usage of assets by other assets, for example datasources that uses credentials.","properties":{"environment":{"nullable":true,"type":"object","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"}}}},"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"}}}},"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"]},"AssetsUsageRefCompute":{"allOf":[{"$ref":"#/components/schemas/AssetRef"}],"nullable":true,"type":"object"},"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}}},"DataSourceOverrides":{"description":"specific fields to override in the data source.","type":"object","nullable":true,"properties":{"containerPath":{"type":"string","minLength":1,"nullable":true}}},"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","minLength":1,"format":"date-time","nullable":true}},"nullable":true,"type":"object"},"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"}}},"nullable":true,"type":"object"},"ComplianceInfoReason":{"description":"An issue preventing the use of a template or asset for creating workloads in a given project.","required":["details"],"properties":{"field":{"description":"For policy related issues, includes a json path to the field in the policy for which the issue applies.","nullable":true,"type":"string","pattern":".*"},"details":{"description":"Explanation of the issue.","type":"string","pattern":".*"},"rule":{"$ref":"#/components/schemas/PolicyRuleEnum"}}},"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","nullable":true,"enum":["min","max","step","options","required","canEdit","canAdd","locked","blocked"]},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/compute":{"get":{"summary":"List compute assets.","description":"Use to retrieve a list of compute assets.","operationId":"list_compute_assets","tags":["Compute"],"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/ComplyToReplicaType"},{"$ref":"#/components/parameters/includeDescendants"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeListResponse"}}}},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Create compute asset.

> Use to create a compute asset.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Compute","description":"A compute resource is a building block that represents compute resources such as GPUs, CPU cores, and CPU memory.\nThe compute resources may consist of multiple physical resources, for example, 0.5 GPU, 8 cores and 200 Megabytes of CPU memory. \nA compute resource is available to a scope and and all of the organizational units within that scope. \n      \nFor more information, see [Compute resource](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/compute-resources).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"ComputeCreationRequest":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetCreationRequest"},"spec":{"allOf":[{"$ref":"#/components/schemas/ComputeAssetSpec"}],"nullable":true,"type":"object"}}},"AssetCreationRequest":{"allOf":[{"$ref":"#/components/schemas/AssetUpdatableFields"},{"$ref":"#/components/schemas/AssetCreationFields"}]},"AssetUpdatableFields":{"required":["name"],"properties":{"name":{"$ref":"#/components/schemas/AssetName"},"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetName":{"description":"The name of the asset.","type":"string","minLength":1},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"AssetCreationFields":{"type":"object","required":["scope"],"properties":{"scope":{"$ref":"#/components/schemas/Scope"},"clusterId":{"$ref":"#/components/schemas/ClusterIdOptional"},"departmentId":{"description":"The id of the department. Must be specified for department scoped assets.","type":"string","nullable":true,"minLength":1},"projectId":{"description":"The id of the project. Must be specified for project scoped assets.","type":"integer","format":"int32","nullable":true},"autoDelete":{"description":"The asset will be deleted automatically. This is intended for internal use.","type":"boolean","nullable":true,"default":false},"workloadSupportedTypes":{"$ref":"#/components/schemas/WorkloadSupportedTypes"},"private":{"description":"The asset will be private to the user who created it. supported only for docker registry and generic secrets","type":"boolean","nullable":true,"default":false}}},"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"]},"ClusterIdOptional":{"description":"The id of the cluster.","type":"string","format":"uuid","minLength":1,"nullable":true},"WorkloadSupportedTypes":{"properties":{"inference":{"description":"Is inference a supported workload type.","type":"boolean","nullable":true},"workspace":{"description":"Is workspace a supported workload type.","type":"boolean","nullable":true},"training":{"description":"Is training a supported workload type.","type":"boolean","nullable":true},"distributed":{"description":"Is distributed a supported workload type.","type":"boolean","nullable":true},"distFramework":{"description":"The distributed training framework used in the workload.","type":"string","enum":["MPI","PyTorch","TF","XGBoost"],"nullable":true}},"nullable":true,"type":"object"},"ComputeAssetSpec":{"properties":{"cpuCoreLimit":{"$ref":"#/components/schemas/CpuCoreLimit"},"cpuCoreRequest":{"$ref":"#/components/schemas/CpuCoreRequest"},"cpuMemoryLimit":{"$ref":"#/components/schemas/CpuMemoryLimit"},"cpuMemoryRequest":{"$ref":"#/components/schemas/CpuMemoryRequest"},"extendedResources":{"$ref":"#/components/schemas/ExtendedResources"},"gpuDevicesRequest":{"$ref":"#/components/schemas/GpuDevicesRequest"},"gpuMemoryLimit":{"$ref":"#/components/schemas/GpuMemoryLimit"},"gpuMemoryRequest":{"$ref":"#/components/schemas/GpuMemoryRequest"},"gpuPortionLimit":{"$ref":"#/components/schemas/GpuPortionLimit"},"gpuPortionRequest":{"$ref":"#/components/schemas/GpuPortionRequest"},"gpuRequestType":{"$ref":"#/components/schemas/GpuRequestType"},"largeShmRequest":{"$ref":"#/components/schemas/LargeShmRequest"}},"type":"object"},"CpuCoreLimit":{"description":"Limitations on the number of CPUs consumed by the workload (0.5, 1, .etc). The system guarantees that this workload will not be able to consume more than this amount of CPUs.","format":"double","type":"number","nullable":true,"minimum":0},"CpuCoreRequest":{"description":"CPU units to allocate for the created workload (0.5, 1, .etc). The workload will receive at least this amount of CPU. Note that the workload will not be scheduled unless the system can guarantee this amount of CPUs to the workload.","format":"double","type":"number","nullable":true,"minimum":0},"CpuMemoryLimit":{"description":"Limitations on the CPU memory to allocate for this workload (1G, 20M, .etc). The system guarantees that this workload will not be able to consume more than this amount of memory. The workload will receive an error when trying to allocate more memory than this limit.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"CpuMemoryRequest":{"description":"The amount of CPU memory to allocate for this workload (1G, 20M, .etc). The workload will receive at least this amount of memory. Note that the workload will not be scheduled unless the system can guarantee this amount of memory to the workload","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"ExtendedResources":{"description":"Extended resources and their quantity.","type":"array","items":{"$ref":"#/components/schemas/ExtendedResource"},"maxItems":1000,"nullable":true},"ExtendedResource":{"description":"Quantity of an extended resource.","properties":{"resource":{"description":"The name of the extended resource (mandatory)","type":"string","minLength":1,"maxLength":253,"nullable":true,"pattern":".*"},"quantity":{"description":"The requested quantity for the resource.","type":"string","minLength":1,"maxLength":63,"nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"exclude":{"description":"Use 'true' in case the extended resource is defined in defaults of the policy, and you wish to exclude it from the workload.","type":"boolean","nullable":true}},"nullable":true,"type":"object"},"GpuDevicesRequest":{"description":"Requested number of GPU devices. Currently if more than one device is requested, it is not possible to provide values for gpuMemory or gpuPortion.","type":"integer","format":"int32","nullable":true,"minimum":0},"GpuMemoryLimit":{"description":"Limitation on the memory consumed by the workload, per GPU device. The system guarantees The gpuMemoryLimit must be no less than gpuMemoryRequest.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"GpuMemoryRequest":{"description":"Required if and only if gpuRequestType is memory. States the GPU memory to allocate for the created workload, per GPU device. Note that the workload will not be scheduled unless the system can guarantee this amount of GPU memory to the workload.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"GpuPortionLimit":{"description":"Limitations on the portion consumed by the workload, per GPU device. The system guarantees The gpuPotionLimit must be no less than the gpuPortionRequest.","type":"number","format":"double","nullable":true,"minimum":0},"GpuPortionRequest":{"description":"Required if and only if gpuRequestType is portion. States the portion of the GPU to allocate for the created workload, per GPU device, between 0 and 1. The default is no allocated GPUs.","type":"number","format":"double","nullable":true,"minimum":0},"GpuRequestType":{"description":"Sets the unit type for GPU resources requests. Stated in terms of portion or memory. Sets the unit type for other GPU request fields. If `gpuDevicesRequest > 1`, only `portion` is supported. If `gpuDeviceRequest = 1`, the request type can be stated as `portion` or `memory`.","type":"string","minLength":1,"enum":["portion","memory"],"nullable":true},"LargeShmRequest":{"description":"A large /dev/shm device to mount into a container running the created workload. An shm is a shared file system mounted on RAM.","type":"boolean","nullable":true},"ComputeAsset":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/ComputeAssetSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"usageTimes":{"$ref":"#/components/schemas/UsageTimesInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"}}},"AssetMeta":{"allOf":[{"$ref":"#/components/schemas/AssetUpdatableFields"},{"$ref":"#/components/schemas/AssetCreationFields"},{"$ref":"#/components/schemas/AssetReadOnlyFields"}]},"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"},"AssetId":{"description":"Unique identifier of the asset.","type":"string","format":"uuid","minLength":1},"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"]},"UpdateCount":{"description":"the value of an update counter of a data in the system.","type":"integer","format":"int64"},"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"}},"nullable":true,"type":"object"},"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}}},"WorkloadId1":{"description":"A unique ID of the workload.","type":"string","format":"uuid"},"WorkloadName":{"description":"The name of the workload.","type":"string","minLength":1,"pattern":".*"},"AssetRef":{"description":"Reference information about an asset.","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/AssetId"},"name":{"$ref":"#/components/schemas/AssetName"}}},"AssetsUsageRef":{"description":"Reference information about usage of assets by other assets, for example datasources that uses credentials.","properties":{"environment":{"nullable":true,"type":"object","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"}}}},"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"}}}},"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"]},"AssetsUsageRefCompute":{"allOf":[{"$ref":"#/components/schemas/AssetRef"}],"nullable":true,"type":"object"},"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}}},"DataSourceOverrides":{"description":"specific fields to override in the data source.","type":"object","nullable":true,"properties":{"containerPath":{"type":"string","minLength":1,"nullable":true}}},"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","minLength":1,"format":"date-time","nullable":true}},"nullable":true,"type":"object"},"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"}}},"nullable":true,"type":"object"},"ComplianceInfoReason":{"description":"An issue preventing the use of a template or asset for creating workloads in a given project.","required":["details"],"properties":{"field":{"description":"For policy related issues, includes a json path to the field in the policy for which the issue applies.","nullable":true,"type":"string","pattern":".*"},"details":{"description":"Explanation of the issue.","type":"string","pattern":".*"},"rule":{"$ref":"#/components/schemas/PolicyRuleEnum"}}},"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","nullable":true,"enum":["min","max","step","options","required","canEdit","canAdd","locked","blocked"]},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409Conflict":{"description":"The specified resource already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/compute":{"post":{"summary":"Create compute asset.","description":"Use to create a compute asset.","operationId":"create_compute_asset","tags":["Compute"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeCreationRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeAsset"}}}},"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"}}}}}}
```

## Retrieve a compute asset.

> Use to retrieve the details of a compute asset by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Compute","description":"A compute resource is a building block that represents compute resources such as GPUs, CPU cores, and CPU memory.\nThe compute resources may consist of multiple physical resources, for example, 0.5 GPU, 8 cores and 200 Megabytes of CPU memory. \nA compute resource is available to a scope and and all of the organizational units within that scope. \n      \nFor more information, see [Compute resource](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/compute-resources).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"IncludeUsageInfo":{"name":"usageInfo","in":"query","required":false,"description":"Whether the query should include asset usage information as part of the response.","schema":{"type":"boolean"}},"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"}},"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"]}},"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"]}}},"schemas":{"ComputeAsset":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/ComputeAssetSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"usageTimes":{"$ref":"#/components/schemas/UsageTimesInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"}}},"AssetMeta":{"allOf":[{"$ref":"#/components/schemas/AssetUpdatableFields"},{"$ref":"#/components/schemas/AssetCreationFields"},{"$ref":"#/components/schemas/AssetReadOnlyFields"}]},"AssetUpdatableFields":{"required":["name"],"properties":{"name":{"$ref":"#/components/schemas/AssetName"},"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetName":{"description":"The name of the asset.","type":"string","minLength":1},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"AssetCreationFields":{"type":"object","required":["scope"],"properties":{"scope":{"$ref":"#/components/schemas/Scope"},"clusterId":{"$ref":"#/components/schemas/ClusterIdOptional"},"departmentId":{"description":"The id of the department. Must be specified for department scoped assets.","type":"string","nullable":true,"minLength":1},"projectId":{"description":"The id of the project. Must be specified for project scoped assets.","type":"integer","format":"int32","nullable":true},"autoDelete":{"description":"The asset will be deleted automatically. This is intended for internal use.","type":"boolean","nullable":true,"default":false},"workloadSupportedTypes":{"$ref":"#/components/schemas/WorkloadSupportedTypes"},"private":{"description":"The asset will be private to the user who created it. supported only for docker registry and generic secrets","type":"boolean","nullable":true,"default":false}}},"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"]},"ClusterIdOptional":{"description":"The id of the cluster.","type":"string","format":"uuid","minLength":1,"nullable":true},"WorkloadSupportedTypes":{"properties":{"inference":{"description":"Is inference a supported workload type.","type":"boolean","nullable":true},"workspace":{"description":"Is workspace a supported workload type.","type":"boolean","nullable":true},"training":{"description":"Is training a supported workload type.","type":"boolean","nullable":true},"distributed":{"description":"Is distributed a supported workload type.","type":"boolean","nullable":true},"distFramework":{"description":"The distributed training framework used in the workload.","type":"string","enum":["MPI","PyTorch","TF","XGBoost"],"nullable":true}},"nullable":true,"type":"object"},"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"},"AssetId":{"description":"Unique identifier of the asset.","type":"string","format":"uuid","minLength":1},"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"]},"UpdateCount":{"description":"the value of an update counter of a data in the system.","type":"integer","format":"int64"},"ComputeAssetSpec":{"properties":{"cpuCoreLimit":{"$ref":"#/components/schemas/CpuCoreLimit"},"cpuCoreRequest":{"$ref":"#/components/schemas/CpuCoreRequest"},"cpuMemoryLimit":{"$ref":"#/components/schemas/CpuMemoryLimit"},"cpuMemoryRequest":{"$ref":"#/components/schemas/CpuMemoryRequest"},"extendedResources":{"$ref":"#/components/schemas/ExtendedResources"},"gpuDevicesRequest":{"$ref":"#/components/schemas/GpuDevicesRequest"},"gpuMemoryLimit":{"$ref":"#/components/schemas/GpuMemoryLimit"},"gpuMemoryRequest":{"$ref":"#/components/schemas/GpuMemoryRequest"},"gpuPortionLimit":{"$ref":"#/components/schemas/GpuPortionLimit"},"gpuPortionRequest":{"$ref":"#/components/schemas/GpuPortionRequest"},"gpuRequestType":{"$ref":"#/components/schemas/GpuRequestType"},"largeShmRequest":{"$ref":"#/components/schemas/LargeShmRequest"}},"type":"object"},"CpuCoreLimit":{"description":"Limitations on the number of CPUs consumed by the workload (0.5, 1, .etc). The system guarantees that this workload will not be able to consume more than this amount of CPUs.","format":"double","type":"number","nullable":true,"minimum":0},"CpuCoreRequest":{"description":"CPU units to allocate for the created workload (0.5, 1, .etc). The workload will receive at least this amount of CPU. Note that the workload will not be scheduled unless the system can guarantee this amount of CPUs to the workload.","format":"double","type":"number","nullable":true,"minimum":0},"CpuMemoryLimit":{"description":"Limitations on the CPU memory to allocate for this workload (1G, 20M, .etc). The system guarantees that this workload will not be able to consume more than this amount of memory. The workload will receive an error when trying to allocate more memory than this limit.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"CpuMemoryRequest":{"description":"The amount of CPU memory to allocate for this workload (1G, 20M, .etc). The workload will receive at least this amount of memory. Note that the workload will not be scheduled unless the system can guarantee this amount of memory to the workload","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"ExtendedResources":{"description":"Extended resources and their quantity.","type":"array","items":{"$ref":"#/components/schemas/ExtendedResource"},"maxItems":1000,"nullable":true},"ExtendedResource":{"description":"Quantity of an extended resource.","properties":{"resource":{"description":"The name of the extended resource (mandatory)","type":"string","minLength":1,"maxLength":253,"nullable":true,"pattern":".*"},"quantity":{"description":"The requested quantity for the resource.","type":"string","minLength":1,"maxLength":63,"nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"exclude":{"description":"Use 'true' in case the extended resource is defined in defaults of the policy, and you wish to exclude it from the workload.","type":"boolean","nullable":true}},"nullable":true,"type":"object"},"GpuDevicesRequest":{"description":"Requested number of GPU devices. Currently if more than one device is requested, it is not possible to provide values for gpuMemory or gpuPortion.","type":"integer","format":"int32","nullable":true,"minimum":0},"GpuMemoryLimit":{"description":"Limitation on the memory consumed by the workload, per GPU device. The system guarantees The gpuMemoryLimit must be no less than gpuMemoryRequest.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"GpuMemoryRequest":{"description":"Required if and only if gpuRequestType is memory. States the GPU memory to allocate for the created workload, per GPU device. Note that the workload will not be scheduled unless the system can guarantee this amount of GPU memory to the workload.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"GpuPortionLimit":{"description":"Limitations on the portion consumed by the workload, per GPU device. The system guarantees The gpuPotionLimit must be no less than the gpuPortionRequest.","type":"number","format":"double","nullable":true,"minimum":0},"GpuPortionRequest":{"description":"Required if and only if gpuRequestType is portion. States the portion of the GPU to allocate for the created workload, per GPU device, between 0 and 1. The default is no allocated GPUs.","type":"number","format":"double","nullable":true,"minimum":0},"GpuRequestType":{"description":"Sets the unit type for GPU resources requests. Stated in terms of portion or memory. Sets the unit type for other GPU request fields. If `gpuDevicesRequest > 1`, only `portion` is supported. If `gpuDeviceRequest = 1`, the request type can be stated as `portion` or `memory`.","type":"string","minLength":1,"enum":["portion","memory"],"nullable":true},"LargeShmRequest":{"description":"A large /dev/shm device to mount into a container running the created workload. An shm is a shared file system mounted on RAM.","type":"boolean","nullable":true},"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"}},"nullable":true,"type":"object"},"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}}},"WorkloadId1":{"description":"A unique ID of the workload.","type":"string","format":"uuid"},"WorkloadName":{"description":"The name of the workload.","type":"string","minLength":1,"pattern":".*"},"AssetRef":{"description":"Reference information about an asset.","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/AssetId"},"name":{"$ref":"#/components/schemas/AssetName"}}},"AssetsUsageRef":{"description":"Reference information about usage of assets by other assets, for example datasources that uses credentials.","properties":{"environment":{"nullable":true,"type":"object","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"}}}},"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"}}}},"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"]},"AssetsUsageRefCompute":{"allOf":[{"$ref":"#/components/schemas/AssetRef"}],"nullable":true,"type":"object"},"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}}},"DataSourceOverrides":{"description":"specific fields to override in the data source.","type":"object","nullable":true,"properties":{"containerPath":{"type":"string","minLength":1,"nullable":true}}},"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","minLength":1,"format":"date-time","nullable":true}},"nullable":true,"type":"object"},"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"}}},"nullable":true,"type":"object"},"ComplianceInfoReason":{"description":"An issue preventing the use of a template or asset for creating workloads in a given project.","required":["details"],"properties":{"field":{"description":"For policy related issues, includes a json path to the field in the policy for which the issue applies.","nullable":true,"type":"string","pattern":".*"},"details":{"description":"Explanation of the issue.","type":"string","pattern":".*"},"rule":{"$ref":"#/components/schemas/PolicyRuleEnum"}}},"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","nullable":true,"enum":["min","max","step","options","required","canEdit","canAdd","locked","blocked"]},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/compute/{AssetId}":{"get":{"summary":"Retrieve a compute asset.","description":"Use to retrieve the details of a compute asset by id.","operationId":"get_compute_asset_by_id","tags":["Compute"],"parameters":[{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/ComplyToProject"},{"$ref":"#/components/parameters/ComplyToWorkloadType"},{"$ref":"#/components/parameters/ComplyToReplicaType"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeAsset"}}}},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Update a compute asset.

> Use to update the details of a compute asset by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Compute","description":"A compute resource is a building block that represents compute resources such as GPUs, CPU cores, and CPU memory.\nThe compute resources may consist of multiple physical resources, for example, 0.5 GPU, 8 cores and 200 Megabytes of CPU memory. \nA compute resource is available to a scope and and all of the organizational units within that scope. \n      \nFor more information, see [Compute resource](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/compute-resources).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"ComputeUpdateRequest":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetUpdateRequest"},"spec":{"allOf":[{"$ref":"#/components/schemas/ComputeAssetSpec"}],"nullable":true,"type":"object"}}},"AssetUpdateRequest":{"allOf":[{"$ref":"#/components/schemas/AssetUpdatableFields"}]},"AssetUpdatableFields":{"required":["name"],"properties":{"name":{"$ref":"#/components/schemas/AssetName"},"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetName":{"description":"The name of the asset.","type":"string","minLength":1},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"ComputeAssetSpec":{"properties":{"cpuCoreLimit":{"$ref":"#/components/schemas/CpuCoreLimit"},"cpuCoreRequest":{"$ref":"#/components/schemas/CpuCoreRequest"},"cpuMemoryLimit":{"$ref":"#/components/schemas/CpuMemoryLimit"},"cpuMemoryRequest":{"$ref":"#/components/schemas/CpuMemoryRequest"},"extendedResources":{"$ref":"#/components/schemas/ExtendedResources"},"gpuDevicesRequest":{"$ref":"#/components/schemas/GpuDevicesRequest"},"gpuMemoryLimit":{"$ref":"#/components/schemas/GpuMemoryLimit"},"gpuMemoryRequest":{"$ref":"#/components/schemas/GpuMemoryRequest"},"gpuPortionLimit":{"$ref":"#/components/schemas/GpuPortionLimit"},"gpuPortionRequest":{"$ref":"#/components/schemas/GpuPortionRequest"},"gpuRequestType":{"$ref":"#/components/schemas/GpuRequestType"},"largeShmRequest":{"$ref":"#/components/schemas/LargeShmRequest"}},"type":"object"},"CpuCoreLimit":{"description":"Limitations on the number of CPUs consumed by the workload (0.5, 1, .etc). The system guarantees that this workload will not be able to consume more than this amount of CPUs.","format":"double","type":"number","nullable":true,"minimum":0},"CpuCoreRequest":{"description":"CPU units to allocate for the created workload (0.5, 1, .etc). The workload will receive at least this amount of CPU. Note that the workload will not be scheduled unless the system can guarantee this amount of CPUs to the workload.","format":"double","type":"number","nullable":true,"minimum":0},"CpuMemoryLimit":{"description":"Limitations on the CPU memory to allocate for this workload (1G, 20M, .etc). The system guarantees that this workload will not be able to consume more than this amount of memory. The workload will receive an error when trying to allocate more memory than this limit.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"CpuMemoryRequest":{"description":"The amount of CPU memory to allocate for this workload (1G, 20M, .etc). The workload will receive at least this amount of memory. Note that the workload will not be scheduled unless the system can guarantee this amount of memory to the workload","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"ExtendedResources":{"description":"Extended resources and their quantity.","type":"array","items":{"$ref":"#/components/schemas/ExtendedResource"},"maxItems":1000,"nullable":true},"ExtendedResource":{"description":"Quantity of an extended resource.","properties":{"resource":{"description":"The name of the extended resource (mandatory)","type":"string","minLength":1,"maxLength":253,"nullable":true,"pattern":".*"},"quantity":{"description":"The requested quantity for the resource.","type":"string","minLength":1,"maxLength":63,"nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"exclude":{"description":"Use 'true' in case the extended resource is defined in defaults of the policy, and you wish to exclude it from the workload.","type":"boolean","nullable":true}},"nullable":true,"type":"object"},"GpuDevicesRequest":{"description":"Requested number of GPU devices. Currently if more than one device is requested, it is not possible to provide values for gpuMemory or gpuPortion.","type":"integer","format":"int32","nullable":true,"minimum":0},"GpuMemoryLimit":{"description":"Limitation on the memory consumed by the workload, per GPU device. The system guarantees The gpuMemoryLimit must be no less than gpuMemoryRequest.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"GpuMemoryRequest":{"description":"Required if and only if gpuRequestType is memory. States the GPU memory to allocate for the created workload, per GPU device. Note that the workload will not be scheduled unless the system can guarantee this amount of GPU memory to the workload.","type":"string","pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$","maxLength":63,"nullable":true},"GpuPortionLimit":{"description":"Limitations on the portion consumed by the workload, per GPU device. The system guarantees The gpuPotionLimit must be no less than the gpuPortionRequest.","type":"number","format":"double","nullable":true,"minimum":0},"GpuPortionRequest":{"description":"Required if and only if gpuRequestType is portion. States the portion of the GPU to allocate for the created workload, per GPU device, between 0 and 1. The default is no allocated GPUs.","type":"number","format":"double","nullable":true,"minimum":0},"GpuRequestType":{"description":"Sets the unit type for GPU resources requests. Stated in terms of portion or memory. Sets the unit type for other GPU request fields. If `gpuDevicesRequest > 1`, only `portion` is supported. If `gpuDeviceRequest = 1`, the request type can be stated as `portion` or `memory`.","type":"string","minLength":1,"enum":["portion","memory"],"nullable":true},"LargeShmRequest":{"description":"A large /dev/shm device to mount into a container running the created workload. An shm is a shared file system mounted on RAM.","type":"boolean","nullable":true},"ComputeAsset":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/ComputeAssetSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"usageTimes":{"$ref":"#/components/schemas/UsageTimesInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"}}},"AssetMeta":{"allOf":[{"$ref":"#/components/schemas/AssetUpdatableFields"},{"$ref":"#/components/schemas/AssetCreationFields"},{"$ref":"#/components/schemas/AssetReadOnlyFields"}]},"AssetCreationFields":{"type":"object","required":["scope"],"properties":{"scope":{"$ref":"#/components/schemas/Scope"},"clusterId":{"$ref":"#/components/schemas/ClusterIdOptional"},"departmentId":{"description":"The id of the department. Must be specified for department scoped assets.","type":"string","nullable":true,"minLength":1},"projectId":{"description":"The id of the project. Must be specified for project scoped assets.","type":"integer","format":"int32","nullable":true},"autoDelete":{"description":"The asset will be deleted automatically. This is intended for internal use.","type":"boolean","nullable":true,"default":false},"workloadSupportedTypes":{"$ref":"#/components/schemas/WorkloadSupportedTypes"},"private":{"description":"The asset will be private to the user who created it. supported only for docker registry and generic secrets","type":"boolean","nullable":true,"default":false}}},"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"]},"ClusterIdOptional":{"description":"The id of the cluster.","type":"string","format":"uuid","minLength":1,"nullable":true},"WorkloadSupportedTypes":{"properties":{"inference":{"description":"Is inference a supported workload type.","type":"boolean","nullable":true},"workspace":{"description":"Is workspace a supported workload type.","type":"boolean","nullable":true},"training":{"description":"Is training a supported workload type.","type":"boolean","nullable":true},"distributed":{"description":"Is distributed a supported workload type.","type":"boolean","nullable":true},"distFramework":{"description":"The distributed training framework used in the workload.","type":"string","enum":["MPI","PyTorch","TF","XGBoost"],"nullable":true}},"nullable":true,"type":"object"},"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"},"AssetId":{"description":"Unique identifier of the asset.","type":"string","format":"uuid","minLength":1},"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"]},"UpdateCount":{"description":"the value of an update counter of a data in the system.","type":"integer","format":"int64"},"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"}},"nullable":true,"type":"object"},"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}}},"WorkloadId1":{"description":"A unique ID of the workload.","type":"string","format":"uuid"},"WorkloadName":{"description":"The name of the workload.","type":"string","minLength":1,"pattern":".*"},"AssetRef":{"description":"Reference information about an asset.","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/AssetId"},"name":{"$ref":"#/components/schemas/AssetName"}}},"AssetsUsageRef":{"description":"Reference information about usage of assets by other assets, for example datasources that uses credentials.","properties":{"environment":{"nullable":true,"type":"object","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"}}}},"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"}}}},"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"]},"AssetsUsageRefCompute":{"allOf":[{"$ref":"#/components/schemas/AssetRef"}],"nullable":true,"type":"object"},"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}}},"DataSourceOverrides":{"description":"specific fields to override in the data source.","type":"object","nullable":true,"properties":{"containerPath":{"type":"string","minLength":1,"nullable":true}}},"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","minLength":1,"format":"date-time","nullable":true}},"nullable":true,"type":"object"},"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"}}},"nullable":true,"type":"object"},"ComplianceInfoReason":{"description":"An issue preventing the use of a template or asset for creating workloads in a given project.","required":["details"],"properties":{"field":{"description":"For policy related issues, includes a json path to the field in the policy for which the issue applies.","nullable":true,"type":"string","pattern":".*"},"details":{"description":"Explanation of the issue.","type":"string","pattern":".*"},"rule":{"$ref":"#/components/schemas/PolicyRuleEnum"}}},"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","nullable":true,"enum":["min","max","step","options","required","canEdit","canAdd","locked","blocked"]},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/compute/{AssetId}":{"put":{"summary":"Update a compute asset.","description":"Use to update the details of a compute asset by id.","operationId":"update_compute_asset_by_id","tags":["Compute"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeUpdateRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeAsset"}}}},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"default":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Delete a compute asset.

> Use to delete a compute asset, by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Compute","description":"A compute resource is a building block that represents compute resources such as GPUs, CPU cores, and CPU memory.\nThe compute resources may consist of multiple physical resources, for example, 0.5 GPU, 8 cores and 200 Megabytes of CPU memory. \nA compute resource is available to a scope and and all of the organizational units within that scope. \n      \nFor more information, see [Compute resource](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/compute-resources).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"responses":{"202Accepted":{"description":"Accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpResponse"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"HttpResponse":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}}},"paths":{"/api/v1/asset/compute/{AssetId}":{"delete":{"summary":"Delete a compute asset.","description":"Use to delete a compute asset, by id.","operationId":"delete_compute_asset_by_id","tags":["Compute"],"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"}}}}}}
```
