Huddle01 Cloud
Deployments

Deployments

Deploy and manage GPU instances through their full lifecycle.

The Deployments API provides full lifecycle management for GPU instances powered by bare-metal NVIDIA GPUs.

Base URL: https://gpu.huddleapis.com/api/v1

Quick Start

# 1. Check your balance (minimum $20 required)
curl -H "X-API-Key: mk_your_key" \
  https://gpu.huddleapis.com/api/v1/billing/balance

# 2. List available GPU types
curl -H "X-API-Key: mk_your_key" \
  https://gpu.huddleapis.com/api/v1/gpus/available

# 3. List compatible OS images
curl -H "X-API-Key: mk_your_key" \
  https://gpu.huddleapis.com/api/v1/images

# 4. Deploy a GPU instance
curl -X POST -H "X-API-Key: mk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "cluster_type": "1A100.22V",
    "image": "e79a91e9-8750-44cb-af19-bf6ab83121ee",
    "hostname": "my-gpu-instance",
    "ssh_key_ids": ["your-ssh-key-id"],
    "location": "FIN-01"
  }' \
  https://gpu.huddleapis.com/api/v1/deployments/clusters

# 5. Check deployment status
curl -H "X-API-Key: mk_your_key" \
  https://gpu.huddleapis.com/api/v1/deployments/{deployment_id}

Deploy Request

FieldTypeRequiredDescription
cluster_typestringYesGPU instance type (e.g. 1A100.22V, 8H200.141S.176V)
imagestringYesOS image ID from /images endpoint
hostnamestringYesInstance hostname (1-255 characters)
ssh_key_idsstring[]YesAt least one SSH key ID for access
locationstringYesData center location code (e.g. FIN-01, FIN-03)
descriptionstringNoOptional description for the instance
os_volumeobjectNoCustom boot disk configuration
volumesobject[]NoAdditional NVMe storage volumes

OS Volume (Boot Disk)

{
  "os_volume": {
    "name": "boot",
    "size": 100
  }
}

Default boot disk is 50 GB. You can configure up to 512 GB.

Additional Volumes

{
  "volumes": [
    {
      "name": "data",
      "size": 500,
      "type": "NVMe"
    }
  ]
}

Deploy Response

{
  "code": "OK",
  "data": {
    "id": "dep_abc123",
    "provider_id": "verda-id",
    "hostname": "my-gpu-instance",
    "cluster_type": "1A100.22V",
    "image": "e79a91e9-...",
    "os_name": "Ubuntu 24.04",
    "location": "FIN-01",
    "status": "ordered",
    "ssh_user": "ubuntu",
    "ssh_key_ids": ["key-id"],
    "specs": {
      "gpu_model": "A100",
      "gpu_count": 1,
      "gpu_vram_gb": 80,
      "total_vram_gb": 80,
      "vcpu_count": 22,
      "ram_gb": 120,
      "price_per_hr": 0.965
    },
    "volumes": [],
    "created_at": "2026-04-03T10:00:00Z",
    "updated_at": "2026-04-03T10:00:00Z"
  }
}

Deployment Lifecycle

A deployment progresses through the following states:

ordered → provisioning → running → offline → deleted
                                 → error
                       → failed_no_capacity
                                          → deleting → deleted
StatusDescriptionWhat you can do
orderedDeployment request accepted, queued for provisioningWait for provisioning
provisioningHardware is being allocated and configuredWait — typically 2-5 minutes
runningInstance is online and accessible via SSHSSH in, run workloads, stop/delete
offlineInstance is stopped but can be restartedStart or delete
errorInstance encountered an errorDelete and redeploy
deletingInstance is being torn downWait for deletion to complete
deletedInstance has been permanently removed
failed_no_capacityNo GPU capacity available for this typeTry a different location or type

Actions

You can perform lifecycle actions on running deployments:

# Delete a deployment
curl -X POST -H "X-API-Key: mk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"action": "delete"}' \
  https://gpu.huddleapis.com/api/v1/deployments/{id}/actions

# Or use the DELETE endpoint directly
curl -X DELETE -H "X-API-Key: mk_your_key" \
  https://gpu.huddleapis.com/api/v1/deployments/{id}

SSH Access

Once a deployment reaches running status, you can SSH into it:

ssh ubuntu@{deployment_ip}

The SSH user is always ubuntu. The IP address is available in the deployment response once the instance is running.

Billing

Important

GPU credits are separate from platform credits. You must have at least $20 in GPU credits before deploying.

RuleDetail
Minimum balance$20 in GPU credits to deploy
Minimum charge10 minutes per deployment
After 10 minutesBilled per second
Billing intervalDeducted every 10 minutes while running

Even if you delete an instance within seconds, you are billed for the full 10-minute minimum. After 10 minutes, billing is exact to the second.

See GPU Billing for the full billing reference.

Check Availability

Before deploying, you can check if a specific instance type has capacity:

curl -H "X-API-Key: mk_your_key" \
  https://gpu.huddleapis.com/api/v1/deployments/availability/1A100.22V
{
  "code": "OK",
  "data": {
    "cluster_type": "1A100.22V",
    "is_available": true
  }
}

If is_available is false, try a different location or instance type.

Error Handling

HTTP StatusCodeMeaning
400BAD_REQUESTInvalid request body or missing required fields
401UNAUTHORIZEDInvalid or missing API key
402INSUFFICIENT_CREDITSBalance below $20 minimum
404NOT_FOUNDDeployment not found
409CONFLICTInstance type unavailable (no capacity)
500INTERNALServer error — retry with an idempotency key

Idempotency

For safe retries on deploy and delete operations, pass an Idempotency-Key header:

curl -X POST -H "X-API-Key: mk_your_key" \
  -H "Idempotency-Key: unique-request-id" \
  -H "Content-Type: application/json" \
  -d '{ ... }' \
  https://gpu.huddleapis.com/api/v1/deployments/clusters

Duplicate requests with the same idempotency key return the cached result instead of creating a new deployment.