For the complete documentation index, see llms.txt. This page is also available as Markdown.

Pods

Create Pod

post

Create a new pod

Authorizations
x-api-keystringRequired
Body

Pod Create Request v2

regionsstring[]Optional

Acceptable region codes

Example: ["sa-east-1"]
namestring · min: 1 · max: 255Required

Pod name

Example: train-job-01
imagestring · min: 1 · max: 255Required

Docker image name

Example: pytorch/pytorch:2.0.0-cuda11.7-cudnn8-runtime
containerRegistryAuthIdinteger · int64Optional

Container registry auth ID

Example: 123
imageRegistrystring · max: 255Optional

Image registry URL

Example: https://index.docker.io
imagePublicTypestring · enumOptional

Image type: PUBLIC or PRIVATE

Example: PUBLICPossible values:
resourceTypestring · enumOptional

Resource type: GPU or CPU

Example: GPUPossible values:
gpuTypestring · min: 1Required

GPU type

Example: NVIDIA_RTX_4090_24G
gpuCountinteger · int32Required

GPU count (must be power of 2)

Example: 1
isSpotbooleanOptional

Create on Spot resource when true

Example: false
maxPricenumberOptional

Spot instance max hourly price cap for the whole machine; only valid when isSpot=true

Example: 0.91
shmInGbinteger · int32Optional

Shared memory size in GB

Example: 1
minSingleCardRamInGbinteger · int32Optional

Minimum single card RAM in GB

Example: 32
minSingleCardVramInGbinteger · int32Optional

Minimum single card VRAM in GB

Example: 24
minSingleCardVcpuinteger · int32Optional

Minimum single card vCPU count

Example: 8
containerVolumeInGbinteger · int32Optional

Container volume size in GB

Example: 100
initializationCommandstringOptional

Initialization command

Example: echo hello
callbackUrlstring · max: 512Optional

Pod lifecycle webhook callback URL. When creating a Pod, you can provide a callbackUrl in the request body. The platform will send HTTP POST notifications to this URL whenever the Pod transitions into a key lifecycle state (RUNNING, TERMINATED, FAILED, or DEGRADED).

Example: https://example.com/pod-callback
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
post/v2/pods
POST /v2/pods HTTP/1.1
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 698

{
  "regions": [
    "us-east-1"
  ],
  "name": "train-job-01",
  "image": "yottalabsai/pytorch:2.9.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04",
  "containerRegistryAuthId": 123,
  "imageRegistry": "https://index.docker.io",
  "imagePublicType": "PUBLIC",
  "resourceType": "GPU",
  "gpuType": "NVIDIA_RTX_4090_24G",
  "gpuCount": 1,
  "isSpot": false,
  "maxPrice": 0.91,
  "shmInGb": 1,
  "minSingleCardRamInGb": 32,
  "minSingleCardVramInGb": 24,
  "minSingleCardVcpu": 8,
  "containerVolumeInGb": 100,
  "initializationCommand": "echo hello",
  "environmentVars": [
    {
      "key": "HF_HOME",
      "value": "/workspace/cache"
    }
  ],
  "expose": [
    {
      "port": 8000,
      "protocol": "HTTP"
    }
  ],
  "volumes": [
    {
      "id": "448086953767260529",
      "mountPath": "/workspace/data"
    }
  ],
  "callbackUrl": "https://example.com/pod-callback"
}
{
  "message": "success",
  "code": 10000,
  "data": {
    "id": "453558748008137211",
    "orgId": "398890716618167180",
    "applicantId": "399129473195316049",
    "name": "train-job-01",
    "imageId": "34",
    "officialImage": "CUSTOM",
    "imagePublicType": "PUBLIC",
    "image": "yottalabsai/pytorch:2.9.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04",
    "imageRegistry": "https://yottalabsai.docker.io",
    "imageRegistryUsername": null,
    "resourceType": "GPU",
    "gpuType": "NVIDIA_RTX_4090_24G",
    "gpuDisplayName": "RTX 4090",
    "gpuCount": 1,
    "shmInGb": 1,
    "singleCardVramInGb": 24,
    "singleCardRamInGb": 32,
    "singleCardVcpu": 8,
    "location": null,
    "region": "us-east-1",
    "cloudType": "SECURE",
    "containerVolumeInGb": 100,
    "persistentVolumeInGb": null,
    "persistentMountPath": null,
    "networkUploadMbps": "0",
    "networkDownloadMbps": "0",
    "diskReadSpeedMbps": "0",
    "diskWriteSpeedMbps": "0",
    "singleCardPrice": "0.48",
    "persistentVolumePrice": "0.00005",
    "containerVolumePrice": "0.00005",
    "initializationCommand": "echo hello",
    "environmentVars": [
      {
        "key": "HF_HOME",
        "value": "/workspace/cache"
      },
      {
        "key": "POD_ID",
        "value": "453558748008137211"
      }
    ],
    "expose": [
      {
        "port": 8000,
        "proxyPort": null,
        "protocol": "HTTP",
        "host": "",
        "healthy": false,
        "ingressUrl": "",
        "serviceName": null
      }
    ],
    "sshCmd": null,
    "status": "INITIALIZING",
    "isSpot": false,
    "callbackUrl": "https://example.com/pod-callback",
    "createdAt": "1780639232239",
    "updatedAt": "1780639232239",
    "volumes": [],
    "internalIp": null,
    "desiredState": null
  }
}

Delete Pod

delete

Delete a pod

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 0
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
dataanyOptional

data

delete/v2/pods/{id}
DELETE /v2/pods/{id} HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": null
}

Resume Pod

post

Resume a paused pod

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 0
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
dataanyOptional

data

post/v2/pods/{id}/resume
POST /v2/pods/{id}/resume HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": null
}

Pause Pod

post

Pause a running pod

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454423236680860400
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
dataanyOptional

data

post/v2/pods/{id}/pause
POST /v2/pods/{id}/pause HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": null
}

List Pods

get

Get all pods for your organization

Authorizations
x-api-keystringRequired
Query parameters
regionListstring[]Optional
statusListstring[]Optional

Filter by status names, e.g. RUNNING, PAUSED, TERMINATED

Responses
200

Success, returns list of pods

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
get/v2/pods
GET /v2/pods HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": [
    {
      "id": "453558748008137211",
      "orgId": "398890716618167180",
      "applicantId": "399129473195316049",
      "name": "train-job-01",
      "image": "yottalabsai/pytorch:2.9.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04",
      "imageRegistry": "https://index.docker.io/v1/",
      "gpuType": "NVIDIA_RTX_4090_24G",
      "gpuDisplayName": "RTX 4090",
      "gpuCount": 1,
      "region": "us-east-1",
      "cloudType": "SECURE",
      "containerVolumeInGb": 100,
      "status": "RUNNING",
      "isSpot": false,
      "callbackUrl": "https://example.com/pod-callback",
      "createdAt": "1780639232239",
      "volumes": [],
      "internalIp": "10.244.243.48",
      "nodePool": "reserved",
      "reserveActive": true
    },
    {
      "id": "452471747896914736",
      "orgId": "398890716618167180",
      "applicantId": "399129473195316049",
      "name": "pod_polite_einstein",
      "image": "yottalabsai/pytorch:2.9.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04",
      "imageRegistry": "https://index.docker.io/v1/",
      "gpuType": "NVIDIA_H100_80G",
      "gpuDisplayName": "H100",
      "gpuCount": 2,
      "region": "eu-2",
      "cloudType": "SECURE",
      "containerVolumeInGb": 256,
      "status": "FAILED",
      "isSpot": false,
      "callbackUrl": null,
      "createdAt": "1780380071217",
      "volumes": [],
      "internalIp": "",
      "nodePool": "shared",
      "reserveActive": false
    }
  ]
}

Get Pod

get

Get details of a specific pod

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 0
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
get/v2/pods/{id}
GET /v2/pods/{id} HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": {
    "id": "453558748008137211",
    "orgId": "398890716618167180",
    "applicantId": "399129473195316049",
    "name": "train-job-01",
    "imageId": "34",
    "officialImage": "CUSTOM",
    "imagePublicType": "PUBLIC",
    "image": "yottalabsai/pytorch:2.9.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04",
    "imageRegistry": "https://yottalabsai.docker.io",
    "imageRegistryUsername": null,
    "resourceType": "GPU",
    "gpuType": "NVIDIA_RTX_4090_24G",
    "gpuDisplayName": "RTX 4090",
    "gpuCount": 1,
    "shmInGb": 1,
    "singleCardVramInGb": 24,
    "singleCardRamInGb": 32,
    "singleCardVcpu": 8,
    "location": "North Carolina",
    "region": "us-east-1",
    "cloudType": "SECURE",
    "containerVolumeInGb": 100,
    "persistentVolumeInGb": null,
    "persistentMountPath": null,
    "networkUploadMbps": "146.92352",
    "networkDownloadMbps": "806.723584",
    "diskReadSpeedMbps": "3558.858752",
    "diskWriteSpeedMbps": "2883.837952",
    "singleCardPrice": "0.48",
    "persistentVolumePrice": "0.00005",
    "containerVolumePrice": "0.00005",
    "initializationCommand": "echo hello",
    "environmentVars": [
      {
        "key": "HF_HOME",
        "value": "/workspace/cache"
      },
      {
        "key": "POD_ID",
        "value": "453558748008137211"
      }
    ],
    "expose": [
      {
        "port": 8000,
        "proxyPort": 30058,
        "protocol": "HTTP",
        "host": "",
        "healthy": false,
        "ingressUrl": "https://b3g1x5od4794r-668.proxy.yottalabs.ai",
        "serviceName": "HTTP Service"
      }
    ],
    "sshCmd": null,
    "status": "RUNNING",
    "isSpot": false,
    "callbackUrl": "https://example.com/pod-callback",
    "createdAt": "1780639232239",
    "updatedAt": "1780652567274",
    "volumes": [],
    "internalIp": "10.244.243.48",
    "desiredState": null,
    "nodePool": "reserved",
    "reserveActive": true
  }
}

List GPU machine specs

post

List GPU machine spec options for Pod v2 create, including per-count availability, volume limits, and prices.

Authorizations
x-api-keystringRequired
Body

GPU list v2 request

pageinteger · int64Optional

Page number, 1-based

Example: 1
sizeinteger · int64Optional

Page size

Example: 10
regionsstring[]Optional

Region filters

Example: ["sa-east-1"]
gpuTypesstring[]Optional

GPU type filters

Example: ["NVIDIA_RTX_4090_24G"]
gpuCountsinteger · int32[]Optional

GPU card count filters

Example: [1,2,4]
minGpuMemoryInGbinteger · int32Optional

Minimum GPU memory per card in GB

Example: 24
minRamPerGpuInGbinteger · int32Optional

Minimum RAM per GPU card in GB

Example: 32
minVcpuPerGpuinteger · int32Optional

Minimum vCPU per GPU card

Example: 8
containerVolumeInGbinteger · int32Optional

Container volume size in GB. Omitted means no container-volume filtering.

Example: 100
systemVolumeInGbinteger · int32Optional

Local system volume size in GB. Omitted or null means no system-volume filtering.

cloudTypesarray · enumOptional

Cloud type filters

Example: ["COMMUNITY"]Possible values:
acceleratorVendorstring · enumOptional

Accelerator vendor filter. Defaults to NVIDIA when omitted.

Default: NVIDIAExample: NVIDIAPossible values:
includeUnavailablebooleanOptional

Whether to include unavailable resources

Default: falseExample: false
isSpotbooleanOptional

Spot resource filter. Omitted means include both Spot and on-demand resources.

Example: false
Responses
200

Success

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
post/v2/gpu/list
POST /v2/gpu/list HTTP/1.1
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 277

{
  "page": 1,
  "size": 10,
  "gpuTypes": [
    "NVIDIA_A100_80G"
  ],
  "gpuCounts": [
    1,
    2,
    4
  ],
  "minGpuMemoryInGb": 24,
  "minRamPerGpuInGb": 32,
  "minVcpuPerGpu": 8,
  "containerVolumeInGb": 100,
  "systemVolumeInGb": null,
  "cloudTypes": [
    "SECURE"
  ],
  "acceleratorVendor": "NVIDIA",
  "includeUnavailable": true,
  "isSpot": false
}
{
  "message": "success",
  "code": 10000,
  "data": {
    "items": [
      {
        "gpuType": "NVIDIA_A100_80G",
        "displayName": "A100 80G",
        "gpuMemoryInGb": 80,
        "region": "eu-1",
        "cloudType": "SECURE",
        "acceleratorVendor": "NVIDIA",
        "isSpot": false,
        "status": "AVAILABLE",
        "maxGpuCount": 4,
        "availableGpuCounts": [
          1,
          2
        ],
        "ramPerGpuInGb": 120,
        "vcpuPerGpu": 22,
        "localDiskPerGpuInGb": 500,
        "gpuCountOptions": [
          {
            "gpuCount": 1,
            "available": true,
            "totalGpuMemoryInGb": 80,
            "totalRamInGb": 120,
            "totalVcpu": 22,
            "totalLocalDiskInGb": 500,
            "containerVolume": {
              "minInGb": 1,
              "maxInGb": 500
            },
            "price": {
              "pricePerGpuPerHour": "2.020000",
              "gpuPricePerHour": "2.020000",
              "containerVolumePricePerGbPerHour": "0.000050",
              "currency": "USD"
            }
          },
          {
            "gpuCount": 2,
            "available": true,
            "totalGpuMemoryInGb": 160,
            "totalRamInGb": 240,
            "totalVcpu": 44,
            "totalLocalDiskInGb": 1000,
            "containerVolume": {
              "minInGb": 1,
              "maxInGb": 1000
            },
            "price": {
              "pricePerGpuPerHour": "2.020000",
              "gpuPricePerHour": "4.040000",
              "containerVolumePricePerGbPerHour": "0.000050",
              "currency": "USD"
            }
          }
        ]
      }
    ],
    "page": "1",
    "size": "10",
    "total": "3",
    "pages": "1"
  }
}

Get Pod Logs

get

Query pod container or system logs

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 0
Query parameters
typestring · enumOptional

Log type

Example: CONTAINERPossible values:
limitinteger · int32Optional

Maximum number of log lines to return

Example: 100
cursorstringOptional

Cursor for pagination

Example: eyJ0aW1lIjoxNzc5NzI0ODAwMDAwfQ==
startTimeinteger · int64Optional

Start time, epoch milliseconds

Example: 1779724800000
endTimeinteger · int64Optional

End time, epoch milliseconds

Example: 1779728400000
keywordstringOptional

Keyword filter

Example: Started
Body
objectOptional
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
get/v2/pods/{id}/logs
GET /v2/pods/{id}/logs HTTP/1.1
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2

{}
{
    "message": "success",
    "code": 10000,
    "data": {
        "items": [
            {
                "timestamp": "2026-06-05T06:00:38.000Z",
                "level": "UNKNOWN",
                "content": "Adding user `user' ..."
            },
            {
                "timestamp": "2026-06-05T06:00:38.000Z",
                "level": "UNKNOWN",
                "content": "Adding new group `user' (1001) ..."
            },
            {
                "timestamp": "2026-06-05T06:00:38.000Z",
                "level": "UNKNOWN",
                "content": "Adding new user `user' (1001) with group `user' ..."
            },
            {
                "timestamp": "2026-06-05T06:00:38.000Z",
                "level": "UNKNOWN",
                "content": "Creating home directory `/home/user' ..."
            },
            {
                "timestamp": "2026-06-05T06:00:38.000Z",
                "level": "UNKNOWN",
                "content": "User 'user' created and configured for NOPASSWD sudo."
            },
            {
                "timestamp": "2026-06-05T06:00:38.000Z",
                "level": "UNKNOWN",
                "content": "Starting Nginx service..."
            },
            {
                "timestamp": "2026-06-05T06:00:38.000Z",
                "level": "UNKNOWN",
                "content": "Pod Started"
            },
            {
                "timestamp": "2026-06-05T06:00:38.000Z",
                "level": "UNKNOWN",
                "content": "DSA key fingerprint: SHA256:<redacted> root@<hostname> (DSA)"
            },
            {
                "timestamp": "2026-06-05T06:00:39.000Z",
                "level": "UNKNOWN",
                "content": "ECDSA key fingerprint: SHA256:<redacted> (ECDSA)"
            },
            {
                "timestamp": "2026-06-05T06:00:39.000Z",
                "level": "UNKNOWN",
                "content": "ED25519 key fingerprint: SHA256:<redacted> (ED25519)"
            },
            {
                "timestamp": "2026-06-05T06:00:3

Get Pod Runtime

get

Get accumulated pod runtime using billing uptime semantics

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 0
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
get/v2/pods/{id}/runtime
GET /v2/pods/{id}/runtime HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": {
    "id": "453558748008137211",
    "name": "train-job-01",
    "status": "RUNNING",
    "createdAt": "1780639232239",
    "updatedAt": "1780652567274",
    "runningMillis": "14560452",
    "runningSeconds": "14560"
  }
}

Last updated

Was this helpful?