Applications
Explore this section for comprehensive information on endpoints related to the deployment, management, and operation of applications within our cloud software API environment.
Success
Bad Request
Unauthorized
Forbidden
Server Error
GET /api/v1/servers/applications/GetApplications HTTP/1.1
Host:
Accept: */*
{
"items": [
{
"id": "text",
"cluster": "text",
"status": "text",
"tenant": "text",
"createdBy": "text",
"privateIp": "text",
"publicIp": "text",
"resourcePool": "text",
"dns": "text",
"sshUsername": "text",
"applicationCatalogItemName": "text",
"applicationCatalogItemVersionName": "text",
"hardwarePackageName": "text",
"persistedDirectAttachedStorage": true,
"personalSharedStorage": true,
"tenantSharedStorage": true
}
]
}The application name
my-jupyter-applicationThe cluster you're operating on
Msc1Success
Bad Request
Unauthorized
Forbidden
Not Found
Server Error
GET /api/v1/servers/applications/GetApplicationDetails?Id=my-jupyter-application&Cluster=Msc1 HTTP/1.1
Host:
Accept: */*
{
"instanceDetails": {
"id": "text",
"cluster": "text",
"status": "text",
"statusReason": "text",
"statusMessage": "text",
"privateIp": "text",
"publicIp": "text",
"imageCmdOverride": "text",
"environmentVariables": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"readinessWatcherPort": 1,
"proxyPort": 1,
"createdBy": "text",
"tenant": "text",
"resourcePool": "text",
"nodeSelector": "text",
"creationTime": "2025-12-05T14:34:30.782Z",
"lastUpdated": "2025-12-05T14:34:30.782Z",
"dns": "text",
"persistedDirectAttachedStorage": true,
"personalSharedStorage": true,
"tenantSharedStorage": true,
"runAsRoot": true,
"containerUid": 1,
"containerGid": 1
},
"applicationCatalogItem": {
"name": "text",
"applicationSourceDetailsUrl": "text",
"applicationSourceOwner": "text",
"versions": [
{
"name": "text",
"imageUrl": "text",
"imageLastPushDate": "2025-12-05T14:34:30.782Z",
"platform": "text",
"launchType": "text",
"releaseNotesUrl": "text",
"accelerator": "text"
}
]
},
"hardwarePackage": {
"name": "text",
"description": "text",
"gpuCount": 1,
"gpuType": "text",
"gpuBrand": "text",
"gpuName": "text",
"vcpusCount": 1,
"memoryGb": 1,
"directAttachedStorageGb": 1,
"pricePerHour": 1,
"clusters": [
"text"
]
}
}Success
Bad Request
Unauthorized
Forbidden
Not Found
Server Error
GET /api/v1/servers/applications/GetConfigurations HTTP/1.1
Host:
Accept: */*
{
"items": [
{
"name": "text",
"description": "text",
"gpuCount": 1,
"gpuType": "text",
"gpuBrand": "text",
"gpuName": "text",
"vcpusCount": 1,
"memoryGb": 1,
"directAttachedStorageGb": 1,
"pricePerHour": 1,
"clusters": [
"text"
]
}
]
}Msc1on-demandSuccess
Bad Request
Unauthorized
Forbidden
Not Found
Server Error
GET /api/v1/servers/applications/GetAvailability?cluster=text&resourcePool=text HTTP/1.1
Host:
Accept: */*
{
"items": [
{
"configuration": "text",
"cluster": "text",
"rpool": "text",
"price": 1,
"available": true,
"count": 1,
"maxCount": 1,
"availableNodeNames": [
"text"
]
}
]
}Success
Bad Request
Unauthorized
Forbidden
Server Error
GET /api/v1/servers/applications/GetApplicationCatalogItems HTTP/1.1
Host:
Accept: */*
{
"items": [
{
"name": "text",
"applicationSourceDetailsUrl": "text",
"applicationSourceOwner": "text",
"versions": [
{
"name": "text",
"imageUrl": "text",
"imageLastPushDate": "2025-12-05T14:34:30.782Z",
"platform": "text",
"launchType": "text",
"releaseNotesUrl": "text",
"accelerator": "text"
}
]
}
]
}Example 1: Jupyter Notebook Application
{
"name": "my-jupyter-notebook",
"cluster": "Msc1",
"hardwarePackageName": "g-nvidia-1xa100-40gb-pcie-14vcpu-112gb",
"applicationCatalogItemName": "jupyter-notebook",
"applicationCatalogItemVersion": "python-3.11.9",
"resourcePool": "on-demand",
"sshKeys": ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC..."],
"personalSharedStorage": true,
"tenantSharedStorage": true,
"jupyterToken": "your-jupyter-token"
}Example 2: vLLM Server Application
Notes:
Model downloads and cache directories must use persistent storage (/mnt/direct-attached/, /mnt/personal-shared/, or /mnt/tenant-shared/). The root filesystem has limited capacity and is not suitable for these operations.
Set proxyPort to the port where vLLM is listening (e.g., 8000). When combined with proxyApiKeys, external access is automatically configured via port 443 (HTTPS) with TLS encryption and API key authentication.
{
"name": "my-vllm-server",
"cluster": "Msc1",
"hardwarePackageName": "g-nvidia-1xa100-40gb-pcie-14vcpu-112gb",
"applicationCatalogItemName": "vllm-server",
"applicationCatalogItemVersion": "v0.11.0",
"resourcePool": "on-demand",
"sshKeys": ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC..."],
"startupCommands": [
"vllm serve MODEL_ID_OR_PATH --download-dir /mnt/direct-attached/vllm-cache --host 127.0.0.1 --port 8000"
],
"environmentVariables": {
"HF_TOKEN": "your-huggingface-token",
"XDG_CACHE_HOME": "/mnt/direct-attached/.cache",
"HF_HOME": "/mnt/direct-attached/.cache/huggingface",
"HUGGINGFACE_HUB_CACHE": "/mnt/direct-attached/.cache/huggingface/hub",
"CUDA_CACHE_PATH": "/mnt/direct-attached/.cache/nv/ComputeCache",
"PIP_CACHE_DIR": "/mnt/direct-attached/.cache/pip",
"VLLM_CACHE_ROOT": "/mnt/direct-attached/.cache/vllm",
"VLLM_ASSETS_CACHE": "/mnt/direct-attached/.cache/vllm/assets"
},
"personalSharedStorage": true,
"tenantSharedStorage": true,
"proxyPort": "8000",
"proxyApiKeys": ["your-vllm-api-key"]
}The application name
my-jupyter-notebookThe cluster you're operating on
Msc1The name or unique identifier of the application hardware configuration to use for the application.
g-nvidia-1xa100-40gb-pcie-14vcpu-112gbThe name of the application catalog item.
jupyter-notebookThe version name of the application catalog item.
python-3.11.9The resource pool to use for the application
on-demandThe SSH keys for accessing the application
Indicates whether to persist direct attached storage (if resource pool is reserved)
falseEnable personal shared storage for the application
trueEnable tenant shared storage for the application
trueSpecific node name to target for application deployment. Used for non-on-demand resource pools to allow node-specific scheduling.
yycdp-dev-k8sw03An authentication token for accessing Jupyter Notebook enabled applications
abc123List of startup commands to be executed during container initialization. Commands are executed in order and joined with semicolons. Used for custom initialization logic before the main application starts.
["pip install custom-package","python setup.py"]The port number for the application proxy service. Required to setup the proxy Used in conjunction with proxyApiKeys for authenticated access.
8000Optional API keys for authenticating with the application proxy service. Multiple keys can be provided to support key rotation. Each key must contain only alphanumeric characters, hyphens, and underscores.
["api-key-abc123","api-key-def456"]Accepted
Bad Request
Unauthorized
Client Error
Forbidden
Not Found
Conflict
Client Error
Server Error
POST /api/v1/servers/applications/CreateCatalogApplication HTTP/1.1
Host:
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 628
{
"name": "my-jupyter-notebook",
"cluster": "Msc1",
"hardwarePackageName": "g-nvidia-1xa100-40gb-pcie-14vcpu-112gb",
"applicationCatalogItemName": "jupyter-notebook",
"applicationCatalogItemVersion": "python-3.11.9",
"resourcePool": "on-demand",
"sshKeys": [
"text"
],
"persistDirectAttachedStorage": false,
"personalSharedStorage": true,
"tenantSharedStorage": true,
"selectedNode": "yycdp-dev-k8sw03",
"jupyterToken": "abc123",
"startupCommands": [
"pip install custom-package",
"python setup.py"
],
"environmentVariables": {
"HF_TOKEN": "your-token-here",
"CACHE_DIR": "/mnt/storage/.cache"
},
"proxyPort": "8000",
"proxyApiKeys": [
"api-key-abc123",
"api-key-def456"
]
}{
"id": "text",
"cluster": "text",
"status": "text",
"tenant": "text",
"createdBy": "text",
"privateIp": "text",
"publicIp": "text",
"resourcePool": "text",
"dns": "text",
"sshUsername": "text",
"applicationCatalogItemName": "text",
"applicationCatalogItemVersionName": "text",
"hardwarePackageName": "text",
"persistedDirectAttachedStorage": true,
"personalSharedStorage": true,
"tenantSharedStorage": true
}Create a new custom application using a pre-defined configuration and user-defined container image.
The application name
my-custom-applicationThe cluster you're operating on
Msc1The name or unique identifier of the application hardware configuration to use for the application.
g-nvidia-1xa100-40gb-pcie-14vcpu-112gbImage URL for the custom application.
docker.io/{namespace}/{repository}:{tag}Optional Image CMD override allows users to specify a custom command to run in the container. Must be a JSON array (e.g., ["python", "train.py"])
["python","train.py"]The resource pool to use for the application
on-demandThe port used for monitoring application readiness and status. Common examples:
- 443 (JupyterLab)
- 22 (SSH)
443The port your application uses to receive HTTPS traffic. When set, a reverse proxy will be automatically configured in front of your application. Port 443 is reserved for the reverse proxy and cannot be used.
8888API keys for authenticating with the reverse proxy service. Optional, but requires proxyPort to be set for the reverse proxy to be configured. Each key must:
- Contain only alphanumeric characters, hyphens, and underscores
- Not exceed 512 characters
- Not be null or whitespace Maximum 10 keys allowed.
["key_user1","key_user2"]Indicates whether to persist direct attached storage (if resource pool is reserved)
falseEnable personal shared storage for the application
trueEnable tenant shared storage for the application
trueSpecific node name to target for application deployment. Used for non-on-demand resource pools to allow node-specific scheduling.
yycdp-dev-k8sw03Accepted
Bad Request
Unauthorized
Client Error
Forbidden
Not Found
Conflict
Client Error
Server Error
POST /api/v1/servers/applications/CreateCustomApplication HTTP/1.1
Host:
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 768
{
"name": "my-custom-application",
"cluster": "Msc1",
"hardwarePackageName": "g-nvidia-1xa100-40gb-pcie-14vcpu-112gb",
"imageUrl": "docker.io/{namespace}/{repository}:{tag}",
"imageCmdOverride": [
"python",
"train.py"
],
"environmentVariables": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"imageRepository": {
"hostname": "https://index.docker.io/v1/",
"username": "your-docker-username",
"password": "dckr_pat__xxx1234567890abcdef"
},
"resourcePool": "on-demand",
"readinessWatcherPort": 443,
"proxyPort": 8888,
"proxyApiKeys": [
"key_user1",
"key_user2"
],
"persistDirectAttachedStorage": false,
"personalSharedStorage": true,
"tenantSharedStorage": true,
"selectedNode": "yycdp-dev-k8sw03",
"userScripts": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"securityContext": {
"runAsRoot": true,
"containerUid": null,
"containerGid": null
}
}{
"id": "text",
"cluster": "text",
"status": "text",
"tenant": "text",
"createdBy": "text",
"privateIp": "text",
"publicIp": "text",
"resourcePool": "text",
"dns": "text",
"sshUsername": "text",
"applicationCatalogItemName": "text",
"applicationCatalogItemVersionName": "text",
"hardwarePackageName": "text",
"persistedDirectAttachedStorage": true,
"personalSharedStorage": true,
"tenantSharedStorage": true
}The application name
my-jupyter-applicationThe cluster you're operating on
Msc1Accepted
Bad Request
Unauthorized
Client Error
Forbidden
Conflict
Server Error
POST /api/v1/servers/applications/StartApplication HTTP/1.1
Host:
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 48
{
"id": "my-jupyter-application",
"cluster": "Msc1"
}{
"id": "my-jupyter-application",
"cluster": "Msc1"
}The application name
my-jupyter-applicationThe cluster you're operating on
Msc1Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Server Error
POST /api/v1/servers/applications/StopApplication HTTP/1.1
Host:
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 48
{
"id": "my-jupyter-application",
"cluster": "Msc1"
}{
"id": "my-jupyter-application",
"cluster": "Msc1"
}Permanently delete a specified application, effectively wiping all its data and freeing up resources for other uses
The application name
my-jupyter-applicationThe cluster you're operating on
Msc1Accepted
Bad Request
Unauthorized
Forbidden
Not Found
Server Error
DELETE /api/v1/servers/applications/DestroyApplication?Id=my-jupyter-application&Cluster=Msc1 HTTP/1.1
Host:
Accept: */*
{
"id": "my-jupyter-application",
"cluster": "Msc1"
}The name of the application
my-applicationThe cluster where the application is running
Hou1The maximum number of log entries to return.
2000Success
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Server Error
GET /api/v1/servers/applications/GetApplicationRuntimeLogs?Id=my-application&Cluster=Hou1&Limit=2000 HTTP/1.1
Host:
Accept: */*
{
"id": "text",
"cluster": "text",
"logs": "text"
}Last updated