Applications

Explore this section for comprehensive information on endpoints related to the deployment, management, and operation of applications within our cloud software API environment.

Get a list of applications

get
Responses
200
Success
get
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
    }
  ]
}

Get detailed information about a specific application

get
Query parameters
IdstringRequired

The application name

Example: my-jupyter-application
ClusterstringRequired

The cluster you're operating on

Example: Msc1
Responses
200
Success
get
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",
    "creationTime": "2025-07-10T03:51:42.453Z",
    "lastUpdated": "2025-07-10T03:51:42.453Z",
    "dns": "text",
    "persistedDirectAttachedStorage": true,
    "personalSharedStorage": true,
    "tenantSharedStorage": true,
    "runAsRoot": true,
    "containerUid": 1,
    "containerGid": 1
  },
  "applicationCatalogItem": {
    "name": "text",
    "applicationSourceDetailsUrl": "text",
    "versions": [
      {
        "name": "text",
        "imageUrl": "text",
        "imageLastPushDate": "2025-07-10T03:51:42.453Z",
        "platform": "text",
        "launchType": "text",
        "releaseNotesUrl": "text"
      }
    ]
  },
  "hardwarePackage": {
    "name": "text",
    "description": "text",
    "gpuCount": 1,
    "gpuType": "text",
    "gpuBrand": "text",
    "gpuName": "text",
    "vcpusCount": 1,
    "memoryGb": 1,
    "directAttachedStorageGb": 1,
    "pricePerHour": 1,
    "clusters": [
      "text"
    ]
  }
}

Get a list of application configurations

get
Responses
200
Success
get
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"
      ]
    }
  ]
}

Get detailed information on available configurations for applications

get
Query parameters
clusterstringRequiredExample: Msc1
resourcePoolstringRequiredExample: on-demand
Responses
200
Success
get
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
    }
  ]
}

Get a list of application catalog items

get
Responses
200
Success
get
GET /api/v1/servers/applications/GetApplicationCatalogItems HTTP/1.1
Host: 
Accept: */*
{
  "items": [
    {
      "name": "text",
      "applicationSourceDetailsUrl": "text",
      "versions": [
        {
          "name": "text",
          "imageUrl": "text",
          "imageLastPushDate": "2025-07-10T03:51:42.453Z",
          "platform": "text",
          "launchType": "text",
          "releaseNotesUrl": "text"
        }
      ]
    }
  ]
}

Create a new application using a pre-defined configuration and application catalog item

post
Body
namestring · min: 1Required

The application name

Example: my-jupyter-application
clusterstring · min: 1Required

The cluster you're operating on

Example: Msc1
hardwarePackageNamestring · min: 1Required

The name or unique identifier of the application hardware configuration to use for the application.

Example: g-nvidia-1xa100-40gb-pcie-14vcpu-112gb
applicationCatalogItemNamestring · min: 1Required

The name of the application catalog item.

Example: jupyter-notebook
applicationCatalogItemVersionstring · min: 1Required

The version name of the application catalog item.

Example: python-3.11.9
resourcePoolstring | nullableOptional

The resource pool to use for the application

Example: on-demand
sshKeysstring[] | nullableOptional

The SSH keys for accessing the application

persistDirectAttachedStoragebooleanOptional

Indicates whether to persist direct attached storage (if resource pool is reserved)

Example: false
personalSharedStoragebooleanOptional

Enable personal shared storage for the application

Example: true
tenantSharedStoragebooleanOptional

Enable tenant shared storage for the application

Example: true
jupyterTokenstring | nullableOptional

An authentication token for accessing Jupyter Notebook enabled applications

Example: abc123
Responses
202
Accepted
post
POST /api/v1/servers/applications/CreateCatalogApplication HTTP/1.1
Host: 
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 372

{
  "name": "my-jupyter-application",
  "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,
  "jupyterToken": "abc123"
}
{
  "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.

post
Body
namestring · min: 1Required

The application name

Example: my-custom-application
clusterstring · min: 1Required

The cluster you're operating on

Example: Msc1
hardwarePackageNamestring · min: 1Required

The name or unique identifier of the application hardware configuration to use for the application.

Example: g-nvidia-1xa100-40gb-pcie-14vcpu-112gb
imageUrlstring · min: 1Required

Image URL for the custom application.

Example: docker.io/{namespace}/{repository}:{tag}
imageCmdOverridestring[] | nullableOptional

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"])

Example: ["python","train.py"]
resourcePoolstring | nullableOptional

The resource pool to use for the application

Example: on-demand
readinessWatcherPortinteger · int32 | nullableOptional

The port used for monitoring application readiness and status. Common examples:

  • 443 (JupyterLab)
  • 22 (SSH)
Example: 443
proxyPortinteger · int32 | nullableOptional

The port your application uses to receive HTTPS traffic.
Port 443 is reserved for the reverse proxy and cannot be used.

Example: 8888
persistDirectAttachedStoragebooleanOptional

Indicates whether to persist direct attached storage (if resource pool is reserved)

Example: false
personalSharedStoragebooleanOptional

Enable personal shared storage for the application

Example: true
tenantSharedStoragebooleanOptional

Enable tenant shared storage for the application

Example: true
Responses
202
Accepted
post
POST /api/v1/servers/applications/CreateCustomApplication HTTP/1.1
Host: 
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 644

{
  "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,
  "persistDirectAttachedStorage": false,
  "personalSharedStorage": true,
  "tenantSharedStorage": true,
  "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
}

Start an application that has been previously set up and provisioned, but is currently OFFLINE

post
Body
idstring · min: 1Required

The application name

Example: my-jupyter-application
clusterstring · min: 1Required

The cluster you're operating on

Example: Msc1
Responses
202
Accepted
post
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"
}

Stop an application that has been previously set up and provisioned, but is currently ONLINE

post
Body
idstring · min: 1Required

The application name

Example: my-jupyter-application
clusterstring · min: 1Required

The cluster you're operating on

Example: Msc1
Responses
202
Accepted
post
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

delete
Query parameters
IdstringRequired

The application name

Example: my-jupyter-application
ClusterstringRequired

The cluster you're operating on

Example: Msc1
Responses
202
Accepted
delete
DELETE /api/v1/servers/applications/DestroyApplication?Id=my-jupyter-application&Cluster=Msc1 HTTP/1.1
Host: 
Accept: */*
{
  "id": "my-jupyter-application",
  "cluster": "Msc1"
}

Get runtime logs for a specified application

get
Query parameters
IdstringRequired

The name of the application

Example: my-application
ClusterstringRequired

The cluster where the application is running

Example: Hou1
Limitinteger · int32 · min: 1 · max: 10000Required

The maximum number of log entries to return.

Example: 2000
Responses
200
Success
get
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