VMs

Restart a VM

A running VM reboots in place. A stopped or failed VM is started again on the node that holds its disk (503 VM_NODE_BUSY when that node has filled up while the VM was stopped and cannot take it back; try later, or create a new VM to place elsewhere). For a pod: from stopped or failed, starts it again on the node that holds its volume, re-claiming GPUs there (503 POD_NODE_BUSY when that node's GPUs are taken, 503 INSUFFICIENT_IP_CAPACITY when the pod's InfiniBand fabric has no free address; 409 POD_NODE_OFFLINE when the node is offline, POD_NODE_NO_INFINIBAND when the org is enabled for InfiniBand but the node's agent predates it, POD_NODE_NO_AMD_GRANT when the pod's GPU model is AMD but the node's agent is below the level that grants AMD GPUs, POD_STOPPING while the previous run is still tearing down); from running, recreates the container (the container filesystem resets, /workspace is kept).

post/v1/vms/{id}/restart

Path parameters

idstring required

Response

OK

capabilityTierstring

compute-fabric capability tier (e.g. "pod"); empty for a plain VM

computeClassstring

compute-fabric purchase option (on_demand; pods created before the rename carry the legacy reserved or interruptible values); empty for a plain VM

createdAtstring
diskSizeGbinteger
endpointUrlstring
gpuCountinteger
gpuManufacturerstring

GPU vendor from the catalog, the same value as GpuModel.manufacturer (NVIDIA, AMD); absent on a CPU-only row

gpuModelIdstring
gpuModelNamestring
idstring required
imageUrlstring

tenant container image (pods)

managedBystring

platform owner of this row ("serving" = inference serving replica, read-only on customer surfaces); empty for a customer-launched VM

namestring required
organizationIdstring required
pricePerHourCentsinteger
provisioningStagestring
publicboolean

true = open endpoint (no data-plane auth); false = require an org API key

resourceSizestring
serviceTypestring

managed-service tag; empty for a plain VM

statusstring required

deploying, running, stopped, failed, terminated, or interrupted; a row can also carry the queued status pending. interrupted means it served and is not serving now: it keeps its node, GPU and disk, and is not billed. A VM is interrupted while its node is offline and resumes when the node returns; a pod is interrupted for that and for losing its supervisor or its job on a live node, which the platform recovers by re-submitting it. After 7 days interrupted a VM is stopped (disk kept) and a pod is deleted.

statusReasonstring

Cause of the current status. The machine-readable values are "node_lost" (the host went offline and is expected back, so the disk is preserved), "node_removed" (the host was decommissioned, so the disk is gone and a restart deploys fresh elsewhere), "vm_exited", "user_stopped", "user_terminated", "user_restarted", "spot_reclaimed_by_capacity_owner", "spot_preempted_for_reservation_tenant", "auto_stopped_insufficient_balance", and the prefix "container failed to start: " followed by the container runtime's own message. Anything else is free text for a human to read.

tierstring
volumeGbinteger

pods only: size in GB of the pod's persistent /workspace volume.

Changes

Changed in 4 of the 36 revisions of this API.4

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added