TensorDock

API Documentation

Learn how to integrate with our API to manage your virtual machines and resources.

Fetch Hostnodes and Locations

Discover deployment locations and hostnodes with their available resources.

Start with the locations endpoint for automatic hostnode selection, or use the hostnodes endpoints for direct placement control.

Location Discovery
Find available locations with GPU configurations for deployment

The locations endpoint shows all available deployment locations with their GPU offerings and maximum deployable resources. Use this to find the best location for your workload.

List Available Locations
Fetch all locations with their available GPU configurations and deployable resources.
GET/api/v2/locations

Response

{
  "data": {
    "locations": [
      {
        "id": "loc-uuid-12345",
        "city": "Austin",
        "stateprovince": "Texas",
        "country": "United States",
        "tier": 3,
        "gpus": [
          {
            "v0Name": "h100-sxm5-80gb",
            "displayName": "H100 SXM5 80GB",
            "max_count": 8,
            "price_per_hr": 2.2,
            "resources": {
              "max_vcpus": 128,
              "max_ram_gb": 300,
              "max_storage_gb": 1000
            },
            "pricing": {
              "per_vcpu_hr": 0.003,
              "per_gb_ram_hr": 0.002,
              "per_gb_storage_hr": 0.00005
            },
            "network_features": {
              "dedicated_ip_available": true,
              "port_forwarding_available": true,
              "network_storage_available": false
            }
          },
          {
            "v0Name": "geforcertx4090-pcie-24gb",
            "displayName": "NVIDIA GeForce RTX 4090 PCIe 24GB",
            "max_count": 4,
            "price_per_hr": 0.5,
            "resources": {
              "max_vcpus": 32,
              "max_ram_gb": 128,
              "max_storage_gb": 2000
            },
            "pricing": {
              "per_vcpu_hr": 0.003,
              "per_gb_ram_hr": 0.002,
              "per_gb_storage_hr": 0.00005
            },
            "network_features": {
              "dedicated_ip_available": false,
              "port_forwarding_available": true,
              "network_storage_available": false
            }
          }
        ]
      }
    ]
  }
}
Understanding Location Data

Resource Limits

  • max_vcpus - Maximum vCPUs you can deploy
  • max_ram_gb - Maximum RAM you can deploy
  • max_storage_gb - Maximum storage available
  • max_count - Maximum number of this GPU type

Pricing

  • price_per_hr - GPU cost per hour
  • • Additional hourly costs for vCPUs, RAM, and storage

Network Features

  • dedicated_ip_available - Supports dedicated public IPs
  • port_forwarding_available - Supports port forwarding
  • network_storage_available - Network storage available

Deployment Example

Use the location ID when creating an instance:

{
  "data": {
    "type": "virtualmachine",
    "attributes": {
      "location_id": "loc-uuid-12345",
      "name": "my-instance",
      "image": "ubuntu2404",
      "resources": {
        "vcpu_count": 64,
        "ram_gb": 256,
        "storage_gb": 500,
        "gpus": {
          "h100-sxm5-80gb": { "count": 4 }
        }
      }
    }
  }
}
Hostnode Discovery
Find specific hostnodes for direct deployment

Use these endpoints when you need to deploy to a specific hostnode. This gives you full control over placement and port selection.

List Available Hostnodes
Fetch a list of all available hostnodes with their resources, pricing, and location information.
GET/api/v2/hostnodes

Parameters

  • location - Filter by location UUID (optional)
  • minRamGb - Minimum available RAM in GB (optional)
  • minVcpu - Minimum available vCPUs (optional)
  • gpu - Filter by GPU type (optional)

Response

{
  "data": {
    "hostnodes": [
      {
        "id": "hostnode-uuid",
        "location_id": "location-uuid",
        "engine": "Narwhal",
        "uptime_percentage": 99.79,
        "available_resources": {
          "gpus": [
            {
              "v0Name": "h100-sxm5-80gb",
              "availableCount": 8,
              "price_per_hr": 2.2
            }
          ],
          "vcpu_count": 208,
          "ram_gb": 990,
          "storage_gb": 14780,
          "has_public_ip_available": true
        },
        "pricing": {
          "per_vcpu_hr": 0.0015,
          "per_gb_ram_hr": 0.0007,
          "per_gb_storage_hr": 0.00005
        },
        "location": {
          "uuid": "location-uuid",
          "city": "Austin",
          "stateprovince": "Texas",
          "country": "United States",
          "has_network_storage": false,
          "network_speed_gbps": 10,
          "network_speed_upload_gbps": 10,
          "organization": "organization-uuid",
          "organizationName": "DataCenter Corp",
          "tier": 3
        }
      }
    ]
  }
}
Get Hostnode Details
Fetch detailed information about a specific hostnode including available ports and extended resource details.
GET/api/v2/hostnodes/{uuid}

Parameters

  • uuid - The unique identifier of the hostnode (e.g., hn-uuid-12345)

Response

{
  "data": {
    "id": "hostnode-uuid",
    "location_id": "location-uuid",
    "engine": "Narwhal",
    "uptime_percentage": 99.79,
    "available_resources": {
      "gpus": [
        {
          "v0Name": "h100-sxm5-80gb",
          "availableCount": 8,
          "price_per_hr": 2.2
        }
      ],
      "max_vcpus_per_gpu": 16,
      "max_ram_per_gpu": 128,
      "max_vcpus": 208,
      "max_ram_gb": 990,
      "max_storage_gb": 14780,
      "available_ports": [
        20000,
        20001,
        20002,
        20003,
        20004,
        20005,
        20006,
        20007,
        20008,
        20009
      ],
      "has_public_ip_available": true
    },
    "pricing": {
      "per_vcpu_hr": 0.0015,
      "per_gb_ram_hr": 0.0007,
      "per_gb_storage_hr": 0.00005
    },
    "location": {
      "uuid": "location-uuid",
      "city": "Austin",
      "stateprovince": "Texas",
      "country": "United States",
      "has_network_storage": false,
      "network_speed_gbps": 10,
      "network_speed_upload_gbps": 10,
      "organization": "organization-uuid",
      "organizationName": "DataCenter Corp",
      "tier": 3
    }
  }
}
Understanding Hostnode Data

Available Resources

  • vcpu_count - Currently available vCPUs
  • ram_gb - Currently available RAM in GB
  • storage_gb - Currently available storage in GB
  • gpus[].availableCount - Number of specific GPU type available
  • available_ports - List of ports available for port forwarding (only in detailed view)

Pricing Information

  • gpus[].price_per_hr - Hourly price for the specific GPU
  • per_vcpu_hr - Hourly price per vCPU
  • per_gb_ram_hr - Hourly price per GB of RAM
  • per_gb_storage_hr - Hourly price per GB of storage

Location Details

  • tier - Data center tier (1-4, higher is better)
  • network_speed_gbps - Download bandwidth in Gbps
  • network_speed_upload_gbps - Upload bandwidth in Gbps
  • has_network_storage - Whether network storage is available