Virtual Machines

API reference for Virtual Machines on CUDO Compute.

Reference
GET
/v1/projects/{projectId}/count-vms

Count

Path attributes

  • Name
    projectId
    Type
    string
    Description
Request
GET
/v1/projects/{projectId}/count-vms
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/count-vms' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "count": "integer"
}

    
  

GET
/v1/projects/{projectId}/images

List private VM images

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    pageNumber
    Type
    integer
    Description
  • Name
    pageSize
    Type
    integer
    Description
Request
GET
/v1/projects/{projectId}/images
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/images' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "images": [
    {
      "projectId": "string",
      "id": "string",
      "dataCenterId": "string",
      "description": "string",
      "sizeGib": "integer",
      "platform": "string",
      "state": "string"
    }
  ],
  "totalCount": "integer",
  "pageNumber": "integer",
  "pageSize": "integer"
}

    
  

POST
/v1/projects/{projectId}/images

Create private VM image

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    vmId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
  • Name
    description
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/images
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/images' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "image": {
    "projectId": "string",
    "id": "string",
    "dataCenterId": "string",
    "description": "string",
    "sizeGib": "integer",
    "platform": "string",
    "state": "string"
  }
}

    
  

GET
/v1/projects/{projectId}/images/{id}

Get private VM image

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
GET
/v1/projects/{projectId}/images/{id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/images/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "image": {
    "projectId": "string",
    "id": "string",
    "dataCenterId": "string",
    "description": "string",
    "sizeGib": "integer",
    "platform": "string",
    "state": "string"
  }
}

    
  

DELETE
/v1/projects/{projectId}/images/{id}

Delete private VM image

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
DELETE
/v1/projects/{projectId}/images/{id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/images/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

POST
/v1/projects/{projectId}/images/{id}

Update private VM image

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
  • Name
    description
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/images/{id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/images/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

POST
/v1/projects/{projectId}/vm

Create virtual machine

Body attributes

  • Name
    dataCenterId
    Type
    string
    Description
  • Name
    machineType
    Type
    string
    Description
  • Name
    vmId
    Type
    string
    Description
  • Name
    startScript
    Type
    string
    Description
  • Name
    sshKeySource
    Type
    string
    Description
  • Name
    customSshKeys
    Type
    array
    Description
  • Name
    password
    Type
    string
    Description
  • Name
    bootDisk
    Type
    object
    Description
  • Name
    bootDiskImageId
    Type
    string
    Description
  • Name
    vcpus
    Type
    integer
    Description
  • Name
    memoryGib
    Type
    integer
    Description
  • Name
    gpus
    Type
    integer
    Description
  • Name
    cpuModel
    Type
    string
    Description
  • Name
    gpuModel
    Type
    string
    Description
  • Name
    gpuModelId
    Type
    string
    Description
  • Name
    nics
    Type
    array
    Description
  • Name
    securityGroupIds
    Type
    array
    Description
  • Name
    storageDiskIds
    Type
    array
    Description
  • Name
    metadata
    Type
    object
    Description
  • Name
    topology
    Type
    object
    Description
  • Name
    validateOnly
    Type
    boolean
    Description
  • Name
    expireTime
    Type
    string
    Description
  • Name
    ttl
    Type
    string
    Description
  • Name
    commitmentTerm
    Type
    string
    Description

Path attributes

  • Name
    projectId
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vm
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "dataCenterId": "string",
    "machineType": "string",
    "vmId": "string",
    "startScript": "string",
    "sshKeySource": "string",
    "customSshKeys": "array",
    "password": "string",
    "bootDisk": "object",
    "bootDiskImageId": "string",
    "vcpus": "integer",
    "memoryGib": "integer",
    "gpus": "integer",
    "cpuModel": "string",
    "gpuModel": "string",
    "gpuModelId": "string",
    "nics": "array",
    "securityGroupIds": "array",
    "storageDiskIds": "array",
    "metadata": "object",
    "topology": "object",
    "validateOnly": "boolean",
    "expireTime": "string",
    "ttl": "string",
    "commitmentTerm": "string"
}'

    
  
Response
    
    {
  "id": "string",
  "vm": {
    "datacenterId": "string",
    "machineType": "string",
    "id": "string",
    "externalIpAddress": "string",
    "internalIpAddress": "string",
    "publicIpAddress": "string",
    "memory": "integer",
    "cpuModel": "string",
    "vcpus": "integer",
    "gpuModel": "string",
    "gpuModelId": "string",
    "gpuQuantity": "integer",
    "bootDiskSizeGib": "integer",
    "renewableEnergy": "boolean",
    "imageId": "string",
    "publicImageId": "string",
    "publicImageName": "string",
    "privateImageId": "string",
    "imageName": "string",
    "createBy": "string",
    "nics": [
      {
        "networkId": "string",
        "externalIpAddress": "string",
        "internalIpAddress": "string",
        "networkAddress": "string",
        "securityGroupIds": [
          "string"
        ]
      }
    ],
    "rules": [
      {
        "id": "string",
        "protocol": "string",
        "ports": "string",
        "ruleType": "string",
        "ipRangeCidr": "string",
        "icmpType": "string"
      }
    ],
    "securityGroupIds": [
      "string"
    ],
    "shortState": "string",
    "bootDisk": {
      "id": "string",
      "projectId": "string",
      "dataCenterId": "string",
      "vmId": "string",
      "sizeGib": "integer",
      "storageClass": "string",
      "diskType": "string",
      "publicImageId": "string",
      "privateImageId": "string",
      "createTime": "string",
      "diskState": "string"
    },
    "storageDisks": [
      {
        "id": "string",
        "projectId": "string",
        "dataCenterId": "string",
        "vmId": "string",
        "sizeGib": "integer",
        "storageClass": "string",
        "diskType": "string",
        "publicImageId": "string",
        "privateImageId": "string",
        "createTime": "string",
        "diskState": "string"
      }
    ],
    "metadata": "object",
    "state": "string",
    "createTime": "string",
    "expireTime": "string",
    "price": {
      "vcpuPriceHr": {
        "value": "string"
      },
      "totalVcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "totalMemoryPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "totalGpuPriceHr": {
        "value": "string"
      },
      "storageGibPriceHr": {
        "value": "string"
      },
      "totalStoragePriceHr": {
        "value": "string"
      },
      "ipv4AddressPriceHr": {
        "value": "string"
      },
      "totalPriceHr": {
        "value": "string"
      }
    },
    "commitmentTerm": "string",
    "commitmentEndTime": "string",
    "sshKeySource": "string",
    "authorizedSshKeys": "string",
    "securityGroups": [
      {
        "projectId": "string",
        "dataCenterId": "string",
        "id": "string",
        "description": "string",
        "rules": [
          {
            "id": "string",
            "protocol": "string",
            "ports": "string",
            "ruleType": "string",
            "ipRangeCidr": "string",
            "icmpType": "string"
          }
        ]
      }
    ]
  }
}

    
  

POST
/v1/projects/{projectId}/vm/{id}/metadata

Update VM metadata

Body attributes

  • Name
    metadata
    Type
    object
    Description
  • Name
    merge
    Type
    boolean
    Description

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vm/{id}/metadata
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm/{id}/metadata' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
    "metadata": "object",
    "merge": "boolean"
}'

    
  
Response
    
    {
  "metadata": "object"
}

    
  

PATCH
/v1/projects/{projectId}/vm/{id}/security-group/attach

Attach security group to VM

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
  • Name
    securityGroupId
    Type
    string
    Description
Request
PATCH
/v1/projects/{projectId}/vm/{id}/security-group/attach
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm/{id}/security-group/attach' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

PATCH
/v1/projects/{projectId}/vm/{id}/security-group/detach

Attach security group to VM

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
  • Name
    securityGroupId
    Type
    string
    Description
Request
PATCH
/v1/projects/{projectId}/vm/{id}/security-group/detach
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vm/{id}/security-group/detach' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

GET
/v1/projects/{projectId}/vms

List

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    networkId
    Type
    string
    Description
Request
GET
/v1/projects/{projectId}/vms
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "VMs": [
    {
      "datacenterId": "string",
      "machineType": "string",
      "id": "string",
      "externalIpAddress": "string",
      "internalIpAddress": "string",
      "publicIpAddress": "string",
      "memory": "integer",
      "cpuModel": "string",
      "vcpus": "integer",
      "gpuModel": "string",
      "gpuModelId": "string",
      "gpuQuantity": "integer",
      "bootDiskSizeGib": "integer",
      "renewableEnergy": "boolean",
      "imageId": "string",
      "publicImageId": "string",
      "publicImageName": "string",
      "privateImageId": "string",
      "imageName": "string",
      "createBy": "string",
      "nics": [
        {
          "networkId": "string",
          "externalIpAddress": "string",
          "internalIpAddress": "string",
          "networkAddress": "string",
          "securityGroupIds": [
            "string"
          ]
        }
      ],
      "rules": [
        {
          "id": "string",
          "protocol": "string",
          "ports": "string",
          "ruleType": "string",
          "ipRangeCidr": "string",
          "icmpType": "string"
        }
      ],
      "securityGroupIds": [
        "string"
      ],
      "shortState": "string",
      "bootDisk": {
        "id": "string",
        "projectId": "string",
        "dataCenterId": "string",
        "vmId": "string",
        "sizeGib": "integer",
        "storageClass": "string",
        "diskType": "string",
        "publicImageId": "string",
        "privateImageId": "string",
        "createTime": "string",
        "diskState": "string"
      },
      "storageDisks": [
        {
          "id": "string",
          "projectId": "string",
          "dataCenterId": "string",
          "vmId": "string",
          "sizeGib": "integer",
          "storageClass": "string",
          "diskType": "string",
          "publicImageId": "string",
          "privateImageId": "string",
          "createTime": "string",
          "diskState": "string"
        }
      ],
      "metadata": "object",
      "state": "string",
      "createTime": "string",
      "expireTime": "string",
      "price": {
        "vcpuPriceHr": {
          "value": "string"
        },
        "totalVcpuPriceHr": {
          "value": "string"
        },
        "memoryGibPriceHr": {
          "value": "string"
        },
        "totalMemoryPriceHr": {
          "value": "string"
        },
        "gpuPriceHr": {
          "value": "string"
        },
        "totalGpuPriceHr": {
          "value": "string"
        },
        "storageGibPriceHr": {
          "value": "string"
        },
        "totalStoragePriceHr": {
          "value": "string"
        },
        "ipv4AddressPriceHr": {
          "value": "string"
        },
        "totalPriceHr": {
          "value": "string"
        }
      },
      "commitmentTerm": "string",
      "commitmentEndTime": "string",
      "sshKeySource": "string",
      "authorizedSshKeys": "string",
      "securityGroups": [
        {
          "projectId": "string",
          "dataCenterId": "string",
          "id": "string",
          "description": "string",
          "rules": [
            {
              "id": "string",
              "protocol": "string",
              "ports": "string",
              "ruleType": "string",
              "ipRangeCidr": "string",
              "icmpType": "string"
            }
          ]
        }
      ]
    }
  ]
}

    
  

GET
/v1/projects/{projectId}/vms/{id}

Get

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
GET
/v1/projects/{projectId}/vms/{id}
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "VM": {
    "datacenterId": "string",
    "machineType": "string",
    "id": "string",
    "externalIpAddress": "string",
    "internalIpAddress": "string",
    "publicIpAddress": "string",
    "memory": "integer",
    "cpuModel": "string",
    "vcpus": "integer",
    "gpuModel": "string",
    "gpuModelId": "string",
    "gpuQuantity": "integer",
    "bootDiskSizeGib": "integer",
    "renewableEnergy": "boolean",
    "imageId": "string",
    "publicImageId": "string",
    "publicImageName": "string",
    "privateImageId": "string",
    "imageName": "string",
    "createBy": "string",
    "nics": [
      {
        "networkId": "string",
        "externalIpAddress": "string",
        "internalIpAddress": "string",
        "networkAddress": "string",
        "securityGroupIds": [
          "string"
        ]
      }
    ],
    "rules": [
      {
        "id": "string",
        "protocol": "string",
        "ports": "string",
        "ruleType": "string",
        "ipRangeCidr": "string",
        "icmpType": "string"
      }
    ],
    "securityGroupIds": [
      "string"
    ],
    "shortState": "string",
    "bootDisk": {
      "id": "string",
      "projectId": "string",
      "dataCenterId": "string",
      "vmId": "string",
      "sizeGib": "integer",
      "storageClass": "string",
      "diskType": "string",
      "publicImageId": "string",
      "privateImageId": "string",
      "createTime": "string",
      "diskState": "string"
    },
    "storageDisks": [
      {
        "id": "string",
        "projectId": "string",
        "dataCenterId": "string",
        "vmId": "string",
        "sizeGib": "integer",
        "storageClass": "string",
        "diskType": "string",
        "publicImageId": "string",
        "privateImageId": "string",
        "createTime": "string",
        "diskState": "string"
      }
    ],
    "metadata": "object",
    "state": "string",
    "createTime": "string",
    "expireTime": "string",
    "price": {
      "vcpuPriceHr": {
        "value": "string"
      },
      "totalVcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "totalMemoryPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "totalGpuPriceHr": {
        "value": "string"
      },
      "storageGibPriceHr": {
        "value": "string"
      },
      "totalStoragePriceHr": {
        "value": "string"
      },
      "ipv4AddressPriceHr": {
        "value": "string"
      },
      "totalPriceHr": {
        "value": "string"
      }
    },
    "commitmentTerm": "string",
    "commitmentEndTime": "string",
    "sshKeySource": "string",
    "authorizedSshKeys": "string",
    "securityGroups": [
      {
        "projectId": "string",
        "dataCenterId": "string",
        "id": "string",
        "description": "string",
        "rules": [
          {
            "id": "string",
            "protocol": "string",
            "ports": "string",
            "ruleType": "string",
            "ipRangeCidr": "string",
            "icmpType": "string"
          }
        ]
      }
    ]
  },
  "vcpuPriceHr": {
    "value": "string"
  },
  "totalVcpuPriceHr": {
    "value": "string"
  },
  "memoryGibPriceHr": {
    "value": "string"
  },
  "totalMemoryPriceHr": {
    "value": "string"
  },
  "gpuPriceHr": {
    "value": "string"
  },
  "totalGpuPriceHr": {
    "value": "string"
  },
  "storageGibPriceHr": {
    "value": "string"
  },
  "totalStoragePriceHr": {
    "value": "string"
  },
  "ipv4PriceHr": {
    "value": "string"
  },
  "totalPriceHr": {
    "value": "string"
  }
}

    
  

GET
/v1/projects/{projectId}/vms/{id}/connect

Connect via VNC

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
  • Name
    connectionId
    Type
    string
    Description
Request
GET
/v1/projects/{projectId}/vms/{id}/connect
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/connect' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "connectUrl": "string",
  "token": "string"
}

    
  

GET
/v1/projects/{projectId}/vms/{id}/disks

List disks attached to VM

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
GET
/v1/projects/{projectId}/vms/{id}/disks
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/disks' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "disks": [
    {
      "id": "string",
      "projectId": "string",
      "dataCenterId": "string",
      "vmId": "string",
      "sizeGib": "integer",
      "storageClass": "string",
      "diskType": "string",
      "publicImageId": "string",
      "privateImageId": "string",
      "createTime": "string",
      "diskState": "string"
    }
  ]
}

    
  

PATCH
/v1/projects/{projectId}/vms/{id}/disks

Resize a VM's disk

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
  • Name
    diskId
    Type
    string
    Description
  • Name
    sizeGib
    Type
    integer
    Description
Request
PATCH
/v1/projects/{projectId}/vms/{id}/disks
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/disks' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

GET
/v1/projects/{projectId}/vms/{id}/monitor

Monitor

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
GET
/v1/projects/{projectId}/vms/{id}/monitor
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/monitor' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "items": [
    {
      "cpu": "number",
      "diskRdBytes": "string",
      "diskRdIops": "string",
      "diskWrBytes": "string",
      "diskWrIops": "string",
      "memory": "string",
      "netRx": "string",
      "netTx": "string",
      "timestamp": "string",
      "guestPing": "string"
    }
  ]
}

    
  

POST
/v1/projects/{projectId}/vms/{id}/reboot

Reboot

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vms/{id}/reboot
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/reboot' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

POST
/v1/projects/{projectId}/vms/{id}/resize

Resize vCPU and memory of VM

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
  • Name
    vcpus
    Type
    integer
    Description
  • Name
    memoryGib
    Type
    integer
    Description
Request
POST
/v1/projects/{projectId}/vms/{id}/resize
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/resize' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "vm": {
    "datacenterId": "string",
    "machineType": "string",
    "id": "string",
    "externalIpAddress": "string",
    "internalIpAddress": "string",
    "publicIpAddress": "string",
    "memory": "integer",
    "cpuModel": "string",
    "vcpus": "integer",
    "gpuModel": "string",
    "gpuModelId": "string",
    "gpuQuantity": "integer",
    "bootDiskSizeGib": "integer",
    "renewableEnergy": "boolean",
    "imageId": "string",
    "publicImageId": "string",
    "publicImageName": "string",
    "privateImageId": "string",
    "imageName": "string",
    "createBy": "string",
    "nics": [
      {
        "networkId": "string",
        "externalIpAddress": "string",
        "internalIpAddress": "string",
        "networkAddress": "string",
        "securityGroupIds": [
          "string"
        ]
      }
    ],
    "rules": [
      {
        "id": "string",
        "protocol": "string",
        "ports": "string",
        "ruleType": "string",
        "ipRangeCidr": "string",
        "icmpType": "string"
      }
    ],
    "securityGroupIds": [
      "string"
    ],
    "shortState": "string",
    "bootDisk": {
      "id": "string",
      "projectId": "string",
      "dataCenterId": "string",
      "vmId": "string",
      "sizeGib": "integer",
      "storageClass": "string",
      "diskType": "string",
      "publicImageId": "string",
      "privateImageId": "string",
      "createTime": "string",
      "diskState": "string"
    },
    "storageDisks": [
      {
        "id": "string",
        "projectId": "string",
        "dataCenterId": "string",
        "vmId": "string",
        "sizeGib": "integer",
        "storageClass": "string",
        "diskType": "string",
        "publicImageId": "string",
        "privateImageId": "string",
        "createTime": "string",
        "diskState": "string"
      }
    ],
    "metadata": "object",
    "state": "string",
    "createTime": "string",
    "expireTime": "string",
    "price": {
      "vcpuPriceHr": {
        "value": "string"
      },
      "totalVcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "totalMemoryPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "totalGpuPriceHr": {
        "value": "string"
      },
      "storageGibPriceHr": {
        "value": "string"
      },
      "totalStoragePriceHr": {
        "value": "string"
      },
      "ipv4AddressPriceHr": {
        "value": "string"
      },
      "totalPriceHr": {
        "value": "string"
      }
    },
    "commitmentTerm": "string",
    "commitmentEndTime": "string",
    "sshKeySource": "string",
    "authorizedSshKeys": "string",
    "securityGroups": [
      {
        "projectId": "string",
        "dataCenterId": "string",
        "id": "string",
        "description": "string",
        "rules": [
          {
            "id": "string",
            "protocol": "string",
            "ports": "string",
            "ruleType": "string",
            "ipRangeCidr": "string",
            "icmpType": "string"
          }
        ]
      }
    ]
  }
}

    
  

POST
/v1/projects/{projectId}/vms/{id}/start

Start

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vms/{id}/start
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/start' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

POST
/v1/projects/{projectId}/vms/{id}/stop

Stop

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vms/{id}/stop
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/stop' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

POST
/v1/projects/{projectId}/vms/{id}/terminate

Terminate

Path attributes

  • Name
    projectId
    Type
    string
    Description
  • Name
    id
    Type
    string
    Description
Request
POST
/v1/projects/{projectId}/vms/{id}/terminate
    
    curl 'https://rest.compute.cudo.org/v1/projects/{projectId}/vms/{id}/terminate' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  

GET
/v1/vms/data-centers

List data centers

Request
GET
/v1/vms/data-centers
    
    curl 'https://rest.compute.cudo.org/v1/vms/data-centers' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "dataCenters": [
    {
      "id": "string",
      "supplierName": "string",
      "renewableEnergy": "boolean",
      "diskPoolPricing": [
        {
          "storageClass": "string",
          "diskGibPriceHr": {
            "value": "string"
          },
          "snapshotGibPriceHr": {
            "value": "string"
          }
        }
      ],
      "networkPricing": [
        {
          "size": "string",
          "priceHr": {
            "value": "string"
          }
        }
      ],
      "ipv4PriceHr": {
        "value": "string"
      },
      "ipv4Free": "integer",
      "s3Endpoint": "string"
    }
  ]
}

    
  

GET
/v1/vms/gpu-models

List GPU models

Request
GET
/v1/vms/gpu-models
    
    curl 'https://rest.compute.cudo.org/v1/vms/gpu-models' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "gpuModels": [
    {
      "id": "string",
      "vendorName": "string",
      "modelName": "string",
      "memoryGib": "integer"
    }
  ]
}

    
  

GET
/v1/vms/machine-types-2

List machine types v2

Request
GET
/v1/vms/machine-types-2
    
    curl 'https://rest.compute.cudo.org/v1/vms/machine-types-2' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "machineTypes": [
    {
      "dataCenterId": "string",
      "machineType": "string",
      "cpuModel": "string",
      "gpuModel": "string",
      "gpuModelId": "string",
      "minVcpuPerMemoryGib": "number",
      "maxVcpuPerMemoryGib": "number",
      "minVcpuPerGpu": "number",
      "maxVcpuPerGpu": "number",
      "vcpuPriceHr": {
        "value": "string"
      },
      "memoryGibPriceHr": {
        "value": "string"
      },
      "gpuPriceHr": {
        "value": "string"
      },
      "minStorageGibPriceHr": {
        "value": "string"
      },
      "ipv4PriceHr": {
        "value": "string"
      },
      "renewableEnergy": "boolean",
      "maxVcpuFree": "integer",
      "totalVcpuFree": "integer",
      "maxMemoryGibFree": "integer",
      "totalMemoryGibFree": "integer",
      "maxGpuFree": "integer",
      "totalGpuFree": "integer",
      "maxStorageGibFree": "integer",
      "totalStorageGibFree": "integer",
      "minVcpu": "number",
      "minMemoryGib": "number"
    }
  ]
}

    
  

GET
/v1/vms/public-images

List public VM images

Request
GET
/v1/vms/public-images
    
    curl 'https://rest.compute.cudo.org/v1/vms/public-images' \
-H 'Authorization: bearer <YOUR-API-KEY>'\
-H 'Accept: application/json'

    
  
Response
    
    {
  "images": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "displayName": "string",
      "platform": "string",
      "sizeGib": "integer",
      "installedPackages": [
        {
          "name": "string",
          "description": "string",
          "version": "string"
        }
      ]
    }
  ]
}