Applications
Explore this section for comprehensive information on endpoints related to the deployment, management, and operation of applications within our cloud software API environment.
OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
GET /api/v1/servers/applications/GetApplications HTTP/1.1
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
Msc1OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
GET /api/v1/servers/applications/GetApplicationDetails?Id=my-jupyter-application&Cluster=Msc1 HTTP/1.1
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": "2026-01-01T00:00:00.000Z",
"lastUpdated": "2026-01-01T00:00:00.000Z",
"dns": "text",
"persistedDirectAttachedStorage": true,
"personalSharedStorage": true,
"tenantSharedStorage": true,
"runAsRoot": true,
"containerUid": 1,
"containerGid": 1
},
"applicationCatalogItem": {
"name": "text",
"applicationSourceDetailsUrl": "text",
"applicationSourceOwner": "text",
"type": "text",
"versions": [
{
"name": "text",
"imageUrl": "text",
"imageLastPushDate": "2026-01-01T00:00:00.000Z",
"platform": "text",
"launchType": "text",
"releaseNotesUrl": "text",
"accelerator": "text",
"minVramGb": 1,
"defaultProxyPort": "text",
"defaultEnvironmentVariables": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
]
},
"hardwarePackage": {
"name": "text",
"description": "text",
"gpuCount": 1,
"gpuType": "text",
"gpuBrand": "text",
"gpuName": "text",
"vcpusCount": 1,
"memoryGb": 1,
"directAttachedStorageGb": 1,
"pricePerHour": 1,
"vramGb": 1,
"clusters": [
"text"
]
},
"servingDetails": {
"platform": "text",
"modelId": "text",
"baseUrl": "text",
"healthUrl": "text",
"requiresAuthentication": true,
"authScheme": "text"
}
}OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
GET /api/v1/servers/applications/GetConfigurations HTTP/1.1
Accept: */*
{
"items": [
{
"name": "text",
"description": "text",
"gpuCount": 1,
"gpuType": "text",
"gpuBrand": "text",
"gpuName": "text",
"vcpusCount": 1,
"memoryGb": 1,
"directAttachedStorageGb": 1,
"pricePerHour": 1,
"vramGb": 1,
"clusters": [
"text"
]
}
]
}Msc1on-demandOK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
GET /api/v1/servers/applications/GetAvailability?cluster=text&resourcePool=text HTTP/1.1
Accept: */*
{
"items": [
{
"configuration": "text",
"cluster": "text",
"rpool": "text",
"price": 1,
"available": true,
"count": 1,
"maxCount": 1,
"availableNodeNames": [
"text"
]
}
]
}OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
GET /api/v1/servers/applications/GetApplicationCatalogItems HTTP/1.1
Accept: */*
{
"items": [
{
"name": "text",
"applicationSourceDetailsUrl": "text",
"applicationSourceOwner": "text",
"type": "text",
"versions": [
{
"name": "text",
"imageUrl": "text",
"imageLastPushDate": "2026-01-01T00:00:00.000Z",
"platform": "text",
"launchType": "text",
"releaseNotesUrl": "text",
"accelerator": "text",
"minVramGb": 1,
"defaultProxyPort": "text",
"defaultEnvironmentVariables": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
]
}
]
}Request body examples for common catalog applications (Jupyter Notebook, vLLM Server, Ollama Server, and model applications) are available from the examples dropdown in the request body section below, along with per-application notes.
The catalog item's default environment variables are applied automatically; any variable you provide in environmentVariables takes precedence over the default. Each version's defaults are returned as defaultEnvironmentVariables by the GetApplicationCatalogItems endpoint.
The application name. Must be 47 characters or less.
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"]Admin user email for Open WebUI initial setup. Required when creating an open-webui application.
admin@example.comAdmin user password for Open WebUI initial setup. Required when creating an open-webui application. Minimum 8 characters.
your-secure-passwordAccepted
Bad Request
Unauthorized
Payment Required
Forbidden
Not Found
Conflict
Unprocessable Content
Internal Server Error
POST /api/v1/servers/applications/CreateCatalogApplication HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 382
{
"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"
}{
"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.
Custom applications must be deployed to a reserved resource pool; the on-demand pool is not supported for custom images.
Request body examples covering a public container image, a vLLM inference server exposed through the reverse proxy, a private registry, and persistent direct attached storage are available from the examples dropdown in the request body section below.
The application name. Must be 47 characters or less.
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. Custom applications support reserved resource pools only; on-demand is not supported.
reserved-denvrThe 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
Payment Required
Forbidden
Not Found
Conflict
Unprocessable Content
Internal Server Error
POST /api/v1/servers/applications/CreateCustomApplication HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 359
{
"name": "my-custom-app",
"cluster": "Msc1",
"hardwarePackageName": "g-nvidia-1xa100-40gb-pcie-14vcpu-112gb",
"imageUrl": "docker.io/your-namespace/your-app:latest",
"imageCmdOverride": [
"python",
"train.py"
],
"resourcePool": "reserved-denvr",
"readinessWatcherPort": 8888,
"environmentVariables": {
"LOG_LEVEL": "info"
},
"personalSharedStorage": true,
"tenantSharedStorage": true
}{
"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
The application name
my-jupyter-applicationThe cluster you're operating on
Msc1Bad Request
Unauthorized
Payment Required
Forbidden
Conflict
Internal Server Error
Service Unavailable
POST /api/v1/servers/applications/StartApplication HTTP/1.1
Content-Type: application/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
The application name
my-jupyter-applicationThe cluster you're operating on
Msc1Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
POST /api/v1/servers/applications/StopApplication HTTP/1.1
Content-Type: application/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
The application name
my-jupyter-applicationThe cluster you're operating on
Msc1Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
DELETE /api/v1/servers/applications/DestroyApplication?Id=my-jupyter-application&Cluster=Msc1 HTTP/1.1
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.
2000OK
The name of the application
The cluster where the application is running
The runtime logs content
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
GET /api/v1/servers/applications/GetApplicationRuntimeLogs?Id=my-application&Cluster=Hou1&Limit=2000 HTTP/1.1
Accept: */*
{
"id": "text",
"cluster": "text",
"logs": "text"
}Last updated