# Credentials

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

## List credentials.

> Use to retrieve a list of all existing credentials.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}},"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":{"CredentialsListResponse":{"required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/CredentialsListResponseEntry"}}}},"CredentialsListResponseEntry":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/CredentialsListResponseAssetSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"CredentialsListResponseAssetSpec":{"properties":{"accessKey":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/AccessKeySpec"}]},"password":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PasswordSpec"}]},"dockerRegistry":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/DockerRegistrySpec"}]},"genericSecret":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/GenericSecretSpec"}]},"ngcApiKey":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/NgcApiKeySpec"}]}}},"AccessKeySpec":{"allOf":[{"$ref":"#/components/schemas/AccessKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"AccessKeyCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the access key id and secret should be taken. If omitted, you will have to provide those credentials in the accessKeyId and secretAccessKey fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"accessKeyId":{"description":"The access key id of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"secretAccessKey":{"description":"The secret access key of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"PasswordSpec":{"allOf":[{"$ref":"#/components/schemas/PasswordCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"PasswordCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the user name and password should be taken. If omitted, you will have to provide those credentials in the user and password fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"DockerRegistrySpec":{"allOf":[{"$ref":"#/components/schemas/DockerRegistryCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"DockerRegistryCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the docker registry details should be taken. If omitted, you will have to provide those credentials and url in relevant fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster, along with the url.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"url":{"description":"The url, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"GenericSecretSpec":{"allOf":[{"$ref":"#/components/schemas/GenericSecretCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"GenericSecretCreationSpec":{"properties":{"existingSecretName":{"description":"name of existing secret in the cluster from which the general key-value values should be taken.","type":"string","minLength":1,"nullable":true},"keyValuePairs":{"$ref":"#/components/schemas/GenericSecretKeyValuePairs"}}},"GenericSecretKeyValuePairs":{"description":"Set of key-value pairs to store in the new credential.","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"},"nullable":true},"KeyValuePair":{"description":"Details of key-value pair to be stored in the credential.","properties":{"key":{"description":"The key of the secret","type":"string","minLength":1,"nullable":true},"value":{"description":"The value of the secret.","type":"string","nullable":true}},"nullable":true,"type":"object"},"NgcApiKeySpec":{"allOf":[{"$ref":"#/components/schemas/NgcApiKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"NgcApiKeyCreationSpec":{"properties":{"ngc_api_key":{"description":"The NGC API key value.","type":"string","minLength":1,"pattern":"^[-._A-Za-z0-9]+$"}}},"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}}},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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/credentials":{"get":{"summary":"List credentials.","description":"Use to retrieve a list of all existing credentials.","operationId":"list_credentials_assets","tags":["Credentials"],"parameters":[{"$ref":"#/components/parameters/AssetNameFilter"},{"$ref":"#/components/parameters/AssetScopeFilter"},{"$ref":"#/components/parameters/AssetProjectFilter"},{"$ref":"#/components/parameters/AssetDepartmentFilter"},{"$ref":"#/components/parameters/AssetClusterFilter"},{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"},{"$ref":"#/components/parameters/includeDescendants"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsListResponse"}}}},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## List access keys.

> Use to retrieve a list of S3-compatible access key credentials.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"AccessKeyListResponse":{"required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/AccessKey"}}}},"AccessKey":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/AccessKeySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"AccessKeySpec":{"allOf":[{"$ref":"#/components/schemas/AccessKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"AccessKeyCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the access key id and secret should be taken. If omitted, you will have to provide those credentials in the accessKeyId and secretAccessKey fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"accessKeyId":{"description":"The access key id of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"secretAccessKey":{"description":"The secret access key of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/credentials/access-key":{"get":{"tags":["Credentials"],"summary":"List access keys.","description":"Use to retrieve a list of S3-compatible access key credentials.","operationId":"list_access_keys","parameters":[{"$ref":"#/components/parameters/AssetNameFilter"},{"$ref":"#/components/parameters/AssetScopeFilter"},{"$ref":"#/components/parameters/AssetProjectFilter"},{"$ref":"#/components/parameters/AssetDepartmentFilter"},{"$ref":"#/components/parameters/AssetClusterFilter"},{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessKeyListResponse"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Create an access key.

> Use to create an S3-compatible access key credential.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"AccessKeyCreationRequest":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetCreationRequest"},"spec":{"$ref":"#/components/schemas/AccessKeyCreationSpec"}}},"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"},"AccessKeyCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the access key id and secret should be taken. If omitted, you will have to provide those credentials in the accessKeyId and secretAccessKey fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"accessKeyId":{"description":"The access key id of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"secretAccessKey":{"description":"The secret access key of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"AccessKey":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/AccessKeySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"AccessKeySpec":{"allOf":[{"$ref":"#/components/schemas/AccessKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/access-key":{"post":{"tags":["Credentials"],"summary":"Create an access key.","description":"Use to create an S3-compatible access key credential.","operationId":"create_access_key","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessKeyCreationRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessKey"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"409":{"$ref":"#/components/responses/409Conflict"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get an access key.

> Use to retrieve the details of an S3-compatible access key credential by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"AccessKey":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/AccessKeySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"AccessKeySpec":{"allOf":[{"$ref":"#/components/schemas/AccessKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"AccessKeyCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the access key id and secret should be taken. If omitted, you will have to provide those credentials in the accessKeyId and secretAccessKey fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"accessKeyId":{"description":"The access key id of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"secretAccessKey":{"description":"The secret access key of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/access-key/{AssetId}":{"get":{"tags":["Credentials"],"summary":"Get an access key.","description":"Use to retrieve the details of an S3-compatible access key credential by id.","operationId":"get_access_key_by_id","parameters":[{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessKey"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Update an access key.

> Use to update the details of an S3-compatible access key credential by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"AccessKeyUpdateRequest":{"properties":{"meta":{"$ref":"#/components/schemas/CredentialUpdateRequest"}}},"CredentialUpdateRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialUpdatableFields"}]},"CredentialUpdatableFields":{"properties":{"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"AccessKey":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/AccessKeySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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},"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"},"AccessKeySpec":{"allOf":[{"$ref":"#/components/schemas/AccessKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"AccessKeyCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the access key id and secret should be taken. If omitted, you will have to provide those credentials in the accessKeyId and secretAccessKey fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"accessKeyId":{"description":"The access key id of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"secretAccessKey":{"description":"The secret access key of the S3-compatible bucket, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/access-key/{AssetId}":{"put":{"tags":["Credentials"],"summary":"Update an access key.","description":"Use to update the details of an S3-compatible access key credential by id.","operationId":"update_access_key","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessKeyUpdateRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessKey"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Delete an access key.

> Use to delete an S3-compatible access key credential by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}}}},"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"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"412PreconditionFailed":{"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/credentials/access-key/{AssetId}":{"delete":{"tags":["Credentials"],"summary":"Delete an access key.","description":"Use to delete an S3-compatible access key credential by id.","operationId":"delete_access_key","responses":{"202":{"$ref":"#/components/responses/202Accepted"},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"412":{"$ref":"#/components/responses/412PreconditionFailed"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## List password credentials.

> Use to retrieve a list of password credentials.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"PasswordListResponse":{"required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/Password"}}}},"Password":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/PasswordSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"PasswordSpec":{"allOf":[{"$ref":"#/components/schemas/PasswordCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"PasswordCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the user name and password should be taken. If omitted, you will have to provide those credentials in the user and password fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/credentials/password":{"get":{"tags":["Credentials"],"summary":"List password credentials.","description":"Use to retrieve a list of password credentials.","operationId":"list_passwords","parameters":[{"$ref":"#/components/parameters/AssetNameFilter"},{"$ref":"#/components/parameters/AssetScopeFilter"},{"$ref":"#/components/parameters/AssetProjectFilter"},{"$ref":"#/components/parameters/AssetDepartmentFilter"},{"$ref":"#/components/parameters/AssetClusterFilter"},{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordListResponse"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Create a userid / password credential.

> Use to create a userid / password credential.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"PasswordCreationRequest":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetCreationRequest"},"spec":{"$ref":"#/components/schemas/PasswordCreationSpec"}}},"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"},"PasswordCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the user name and password should be taken. If omitted, you will have to provide those credentials in the user and password fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"Password":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/PasswordSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"PasswordSpec":{"allOf":[{"$ref":"#/components/schemas/PasswordCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/password":{"post":{"tags":["Credentials"],"summary":"Create a userid / password credential.","description":"Use to create a userid / password credential.","operationId":"create_password","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordCreationRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Password"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"409":{"$ref":"#/components/responses/409Conflict"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get a userid / password credential.

> Use to retrieve the details of a userid / password credential asset by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"Password":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/PasswordSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"PasswordSpec":{"allOf":[{"$ref":"#/components/schemas/PasswordCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"PasswordCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the user name and password should be taken. If omitted, you will have to provide those credentials in the user and password fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/password/{AssetId}":{"get":{"tags":["Credentials"],"summary":"Get a userid / password credential.","description":"Use to retrieve the details of a userid / password credential asset by id.","operationId":"get_password_by_id","parameters":[{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Password"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Update a password credential.

> Use to Update the details of a password credential by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"PasswordUpdateRequest":{"properties":{"meta":{"$ref":"#/components/schemas/CredentialUpdateRequest"}}},"CredentialUpdateRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialUpdatableFields"}]},"CredentialUpdatableFields":{"properties":{"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"Password":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/PasswordSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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},"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"},"PasswordSpec":{"allOf":[{"$ref":"#/components/schemas/PasswordCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"PasswordCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the user name and password should be taken. If omitted, you will have to provide those credentials in the user and password fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/password/{AssetId}":{"put":{"tags":["Credentials"],"summary":"Update a password credential.","description":"Use to Update the details of a password credential by id.","operationId":"update_password","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordUpdateRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Password"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Delete a password asset.

> Udse to delete a password credential by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}}}},"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"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"412PreconditionFailed":{"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/credentials/password/{AssetId}":{"delete":{"tags":["Credentials"],"summary":"Delete a password asset.","description":"Udse to delete a password credential by id.","operationId":"delete_password","responses":{"202":{"$ref":"#/components/responses/202Accepted"},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"412":{"$ref":"#/components/responses/412PreconditionFailed"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## List docker registry credentials.

> Use to retrieve a list of docker registry credentials.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"DockerRegistryListResponse":{"required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/DockerRegistry"}}}},"DockerRegistry":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/DockerRegistrySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"DockerRegistrySpec":{"allOf":[{"$ref":"#/components/schemas/DockerRegistryCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"DockerRegistryCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the docker registry details should be taken. If omitted, you will have to provide those credentials and url in relevant fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster, along with the url.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"url":{"description":"The url, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/credentials/docker-registry":{"get":{"tags":["Credentials"],"summary":"List docker registry credentials.","description":"Use to retrieve a list of docker registry credentials.","operationId":"list_docker_registries","parameters":[{"$ref":"#/components/parameters/AssetNameFilter"},{"$ref":"#/components/parameters/AssetScopeFilter"},{"$ref":"#/components/parameters/AssetProjectFilter"},{"$ref":"#/components/parameters/AssetDepartmentFilter"},{"$ref":"#/components/parameters/AssetClusterFilter"},{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerRegistryListResponse"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Create a docker registry credential.

> Use to create a docker registry credential containing userid, password and url.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"DockerRegistryCreationRequest":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetCreationRequest"},"spec":{"$ref":"#/components/schemas/DockerRegistryCreationSpec"}}},"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"},"DockerRegistryCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the docker registry details should be taken. If omitted, you will have to provide those credentials and url in relevant fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster, along with the url.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"url":{"description":"The url, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"DockerRegistry":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/DockerRegistrySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"DockerRegistrySpec":{"allOf":[{"$ref":"#/components/schemas/DockerRegistryCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/docker-registry":{"post":{"tags":["Credentials"],"summary":"Create a docker registry credential.","description":"Use to create a docker registry credential containing userid, password and url.","operationId":"create_docker_registry","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerRegistryCreationRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerRegistry"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"409":{"$ref":"#/components/responses/409Conflict"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get a docker registry credential.

> Use to retrieve the details of a docker registry credential by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"DockerRegistry":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/DockerRegistrySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"DockerRegistrySpec":{"allOf":[{"$ref":"#/components/schemas/DockerRegistryCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"DockerRegistryCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the docker registry details should be taken. If omitted, you will have to provide those credentials and url in relevant fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster, along with the url.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"url":{"description":"The url, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/docker-registry/{AssetId}":{"get":{"tags":["Credentials"],"summary":"Get a docker registry credential.","description":"Use to retrieve the details of a docker registry credential by id.","operationId":"get_docker_registry_by_id","parameters":[{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerRegistry"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Update a docker registry credential.

> Use to updates the details of a docker registry credentials by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"DockerRegistryUpdateRequest":{"properties":{"meta":{"$ref":"#/components/schemas/CredentialUpdateRequest"}}},"CredentialUpdateRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialUpdatableFields"}]},"CredentialUpdatableFields":{"properties":{"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"DockerRegistry":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/DockerRegistrySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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},"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"},"DockerRegistrySpec":{"allOf":[{"$ref":"#/components/schemas/DockerRegistryCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"DockerRegistryCreationSpec":{"properties":{"existingSecretName":{"description":"optional name of existing secret in the cluster from which the docker registry details should be taken. If omitted, you will have to provide those credentials and url in relevant fields. The provided credentials are encrypted into the control plane database and cloned to a kubernetes secret in the cluster, along with the url.","nullable":true,"type":"string","minLength":1},"user":{"description":"The name of the user, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"password":{"description":"The password, required only when not using existing secret.","type":"string","nullable":true,"minLength":1},"url":{"description":"The url, required only when not using existing secret.","type":"string","nullable":true,"minLength":1}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/docker-registry/{AssetId}":{"put":{"tags":["Credentials"],"summary":"Update a docker registry credential.","description":"Use to updates the details of a docker registry credentials by id.","operationId":"update_docker_registry","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerRegistryUpdateRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerRegistry"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Delete a docker registry credential.

> Use to deletes a docker registry credential by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}}}},"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"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"412PreconditionFailed":{"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/credentials/docker-registry/{AssetId}":{"delete":{"tags":["Credentials"],"summary":"Delete a docker registry credential.","description":"Use to deletes a docker registry credential by id.","operationId":"delete_docker_registry","responses":{"202":{"$ref":"#/components/responses/202Accepted"},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"412":{"$ref":"#/components/responses/412PreconditionFailed"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## List generic-secrets.

> Retrieve a list of generic-secret assets.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"GenericSecretListResponse":{"required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/GenericSecret"}}}},"GenericSecret":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/GenericSecretSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"GenericSecretSpec":{"allOf":[{"$ref":"#/components/schemas/GenericSecretCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"GenericSecretCreationSpec":{"properties":{"existingSecretName":{"description":"name of existing secret in the cluster from which the general key-value values should be taken.","type":"string","minLength":1,"nullable":true},"keyValuePairs":{"$ref":"#/components/schemas/GenericSecretKeyValuePairs"}}},"GenericSecretKeyValuePairs":{"description":"Set of key-value pairs to store in the new credential.","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"},"nullable":true},"KeyValuePair":{"description":"Details of key-value pair to be stored in the credential.","properties":{"key":{"description":"The key of the secret","type":"string","minLength":1,"nullable":true},"value":{"description":"The value of the secret.","type":"string","nullable":true}},"nullable":true,"type":"object"},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/credentials/generic-secret":{"get":{"tags":["Credentials"],"summary":"List generic-secrets.","description":"Retrieve a list of generic-secret assets.","operationId":"list_generic_secret","parameters":[{"$ref":"#/components/parameters/AssetNameFilter"},{"$ref":"#/components/parameters/AssetScopeFilter"},{"$ref":"#/components/parameters/AssetProjectFilter"},{"$ref":"#/components/parameters/AssetDepartmentFilter"},{"$ref":"#/components/parameters/AssetClusterFilter"},{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSecretListResponse"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Create a generic-secret.

> Use to create a generic-secret asset.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"GenericSecretCreationRequest":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetCreationRequest"},"spec":{"$ref":"#/components/schemas/GenericSecretCreationSpec"}}},"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"},"GenericSecretCreationSpec":{"properties":{"existingSecretName":{"description":"name of existing secret in the cluster from which the general key-value values should be taken.","type":"string","minLength":1,"nullable":true},"keyValuePairs":{"$ref":"#/components/schemas/GenericSecretKeyValuePairs"}}},"GenericSecretKeyValuePairs":{"description":"Set of key-value pairs to store in the new credential.","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"},"nullable":true},"KeyValuePair":{"description":"Details of key-value pair to be stored in the credential.","properties":{"key":{"description":"The key of the secret","type":"string","minLength":1,"nullable":true},"value":{"description":"The value of the secret.","type":"string","nullable":true}},"nullable":true,"type":"object"},"GenericSecret":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/GenericSecretSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"GenericSecretSpec":{"allOf":[{"$ref":"#/components/schemas/GenericSecretCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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/credentials/generic-secret":{"post":{"tags":["Credentials"],"summary":"Create a generic-secret.","description":"Use to create a generic-secret asset.","operationId":"create_generic_secret","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSecretCreationRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSecret"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"409":{"$ref":"#/components/responses/409Conflict"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get a generic-secret.

> Returns the details of a generic-secret asset, by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"GenericSecret":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/GenericSecretSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"GenericSecretSpec":{"allOf":[{"$ref":"#/components/schemas/GenericSecretCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"GenericSecretCreationSpec":{"properties":{"existingSecretName":{"description":"name of existing secret in the cluster from which the general key-value values should be taken.","type":"string","minLength":1,"nullable":true},"keyValuePairs":{"$ref":"#/components/schemas/GenericSecretKeyValuePairs"}}},"GenericSecretKeyValuePairs":{"description":"Set of key-value pairs to store in the new credential.","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"},"nullable":true},"KeyValuePair":{"description":"Details of key-value pair to be stored in the credential.","properties":{"key":{"description":"The key of the secret","type":"string","minLength":1,"nullable":true},"value":{"description":"The value of the secret.","type":"string","nullable":true}},"nullable":true,"type":"object"},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/generic-secret/{AssetId}":{"get":{"tags":["Credentials"],"summary":"Get a generic-secret.","description":"Returns the details of a generic-secret asset, by id.","operationId":"get_generic_secret_by_id","parameters":[{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSecret"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Update a generic-secret.

> Updates the details of a generic-secret asset, by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"GenericSecretUpdateRequest":{"properties":{"meta":{"$ref":"#/components/schemas/CredentialUpdateRequest"}}},"CredentialUpdateRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialUpdatableFields"}]},"CredentialUpdatableFields":{"properties":{"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"GenericSecret":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/GenericSecretSpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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},"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"},"GenericSecretSpec":{"allOf":[{"$ref":"#/components/schemas/GenericSecretCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"GenericSecretCreationSpec":{"properties":{"existingSecretName":{"description":"name of existing secret in the cluster from which the general key-value values should be taken.","type":"string","minLength":1,"nullable":true},"keyValuePairs":{"$ref":"#/components/schemas/GenericSecretKeyValuePairs"}}},"GenericSecretKeyValuePairs":{"description":"Set of key-value pairs to store in the new credential.","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"},"nullable":true},"KeyValuePair":{"description":"Details of key-value pair to be stored in the credential.","properties":{"key":{"description":"The key of the secret","type":"string","minLength":1,"nullable":true},"value":{"description":"The value of the secret.","type":"string","nullable":true}},"nullable":true,"type":"object"},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/generic-secret/{AssetId}":{"put":{"tags":["Credentials"],"summary":"Update a generic-secret.","description":"Updates the details of a generic-secret asset, by id.","operationId":"update_generic_secret","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSecretUpdateRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericSecret"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Delete a generic-secret.

> Use to delete a generic-secret asset, by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"responses":{"204NoContent":{"description":"No Content."},"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"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"412PreconditionFailed":{"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":{"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}}},"paths":{"/api/v1/asset/credentials/generic-secret/{AssetId}":{"delete":{"tags":["Credentials"],"summary":"Delete a generic-secret.","description":"Use to delete a generic-secret asset, by id.","operationId":"delete_generic_secret","responses":{"204":{"$ref":"#/components/responses/204NoContent"},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"412":{"$ref":"#/components/responses/412PreconditionFailed"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## List ngc-api-keys.

> Retrieve a list of ngcApiKey assets.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"NgcApiKeyListResponse":{"required":["entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/NgcApiKey"}}}},"NgcApiKey":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/NgcApiKeySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"NgcApiKeySpec":{"allOf":[{"$ref":"#/components/schemas/NgcApiKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"NgcApiKeyCreationSpec":{"properties":{"ngc_api_key":{"description":"The NGC API key value.","type":"string","minLength":1,"pattern":"^[-._A-Za-z0-9]+$"}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/asset/credentials/ngc-api-key":{"get":{"tags":["Credentials"],"summary":"List ngc-api-keys.","description":"Retrieve a list of ngcApiKey assets.","operationId":"list_ngc_api_key","parameters":[{"$ref":"#/components/parameters/AssetNameFilter"},{"$ref":"#/components/parameters/AssetScopeFilter"},{"$ref":"#/components/parameters/AssetProjectFilter"},{"$ref":"#/components/parameters/AssetDepartmentFilter"},{"$ref":"#/components/parameters/AssetClusterFilter"},{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NgcApiKeyListResponse"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Create a ngc-api-key.

> Use to create a ngc-api-key asset.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NgcApiKeyCreationRequest":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetCreationRequest"},"spec":{"$ref":"#/components/schemas/NgcApiKeyCreationSpec"}}},"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"},"NgcApiKeyCreationSpec":{"properties":{"ngc_api_key":{"description":"The NGC API key value.","type":"string","minLength":1,"pattern":"^[-._A-Za-z0-9]+$"}}},"NgcApiKey":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/NgcApiKeySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"NgcApiKeySpec":{"allOf":[{"$ref":"#/components/schemas/NgcApiKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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/credentials/ngc-api-key":{"post":{"tags":["Credentials"],"summary":"Create a ngc-api-key.","description":"Use to create a ngc-api-key asset.","operationId":"create_ngc_api_key","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NgcApiKeyCreationRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NgcApiKey"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"409":{"$ref":"#/components/responses/409Conflict"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get a ngc-api-key.

> Returns the details of a ngc-api-key asset, by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"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"}},"IncludeStatus":{"name":"statusInfo","in":"query","required":false,"description":"Whether the query should include asset status information as part of the response.","schema":{"type":"boolean"}}},"schemas":{"NgcApiKey":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/NgcApiKeySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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"},"NgcApiKeySpec":{"allOf":[{"$ref":"#/components/schemas/NgcApiKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"NgcApiKeyCreationSpec":{"properties":{"ngc_api_key":{"description":"The NGC API key value.","type":"string","minLength":1,"pattern":"^[-._A-Za-z0-9]+$"}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/ngc-api-key/{AssetId}":{"get":{"tags":["Credentials"],"summary":"Get a ngc-api-key.","description":"Returns the details of a ngc-api-key asset, by id.","operationId":"get_ngc_api_key_by_id","parameters":[{"$ref":"#/components/parameters/IncludeUsageInfo"},{"$ref":"#/components/parameters/IncludeStatus"}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NgcApiKey"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Update a ngc-api-key.

> Updates the details of a ngc-api-key asset, by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NgcApiKeyUpdateRequest":{"properties":{"meta":{"$ref":"#/components/schemas/CredentialUpdateRequest"}}},"CredentialUpdateRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialUpdatableFields"}]},"CredentialUpdatableFields":{"properties":{"description":{"$ref":"#/components/schemas/AssetDescription"}}},"AssetDescription":{"description":"The description of the asset.","type":"string","minLength":1,"maxLength":250,"nullable":true},"NgcApiKey":{"required":["meta","spec"],"properties":{"meta":{"$ref":"#/components/schemas/AssetMeta"},"spec":{"$ref":"#/components/schemas/NgcApiKeySpec"},"usedBy":{"$ref":"#/components/schemas/AssetUsageInfo"},"compliance":{"$ref":"#/components/schemas/ComplianceInfo"},"status":{"$ref":"#/components/schemas/AssetClusterStatusInfo"},"clusterInfo":{"$ref":"#/components/schemas/ClusterInfo1"}}},"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},"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"},"NgcApiKeySpec":{"allOf":[{"$ref":"#/components/schemas/NgcApiKeyCreationSpec"},{"$ref":"#/components/schemas/EncryptionKeyId"}]},"NgcApiKeyCreationSpec":{"properties":{"ngc_api_key":{"description":"The NGC API key value.","type":"string","minLength":1,"pattern":"^[-._A-Za-z0-9]+$"}}},"EncryptionKeyId":{"required":["keyId"],"properties":{"keyId":{"description":"id of the encryption key which has been used to encrypt an asset's data.","type":"integer","format":"int32"}}},"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}}},"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"]},"AssetClusterStatusInfo":{"properties":{"status":{"$ref":"#/components/schemas/AssetSyncStatusEnum"},"issues":{"$ref":"#/components/schemas/AssetClusterStatusIssues"},"message":{"type":"string"},"url":{"type":"string"}},"nullable":true,"type":"object"},"AssetSyncStatusEnum":{"type":"string","enum":["Creating","Deleting","Failed","Deletion failed","Issues found","No issues found","No status","Updating"]},"AssetClusterStatusIssues":{"type":"array","items":{"$ref":"#/components/schemas/AssetClusterStatusIssue"}},"AssetClusterStatusIssue":{"type":"object","required":["scopeId","scopeType","issue"],"properties":{"scopeId":{"$ref":"#/components/schemas/ScopeId"},"scopeType":{"$ref":"#/components/schemas/ScopeType"},"issue":{"$ref":"#/components/schemas/AssetClusterStatusIssueEnum"}}},"ScopeId":{"type":"string","description":"The id of the cluster, department or project, depending on the scope type."},"ScopeType":{"type":"string","enum":["system","tenant","cluster","department","project"]},"AssetClusterStatusIssueEnum":{"type":"string","enum":["ReplicationError","LostPhase","NotCreated"]},"ClusterInfo1":{"description":"Cluster related information of the asset.","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ClusterResourceInfo"}}},"nullable":true,"type":"object"},"ClusterResourceInfo":{"properties":{"name":{"description":"The name of the resource created for the asset in the cluster.","type":"string","nullable":true}},"nullable":true,"type":"object"},"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"}}}},"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/credentials/ngc-api-key/{AssetId}":{"put":{"tags":["Credentials"],"summary":"Update a ngc-api-key.","description":"Updates the details of a ngc-api-key asset, by id.","operationId":"update_ngc_api_key","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NgcApiKeyUpdateRequest"}}}},"responses":{"202":{"description":"Request accepted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NgcApiKey"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Delete a ngc-api-key.

> Use to delete a ngc-api-key asset, by id.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.24"},"tags":[{"name":"Credentials","description":"Credentials are used to unlock protected resources such as applications, containers, and other assets. For more information, see [Credentials](https://run-ai-docs.nvidia.com/self-hosted/2.24/workloads-in-nvidia-run-ai/assets/credentials)."}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"responses":{"204NoContent":{"description":"No Content."},"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"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"412PreconditionFailed":{"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":{"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}}},"paths":{"/api/v1/asset/credentials/ngc-api-key/{AssetId}":{"delete":{"tags":["Credentials"],"summary":"Delete a ngc-api-key.","description":"Use to delete a ngc-api-key asset, by id.","operationId":"delete_ngc_api_key","responses":{"204":{"$ref":"#/components/responses/204NoContent"},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"412":{"$ref":"#/components/responses/412PreconditionFailed"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```
