Create Deployment
Only VM providers (
quantacloud, masscompute, verda, hyperstack) are supported via the API. Container providers (Vast.ai) require the dashboard, and so do templates and app links.provisioning. Poll the get endpoint to track progress.
Request Body
Response 202 Accepted
Errors
These are all returned before anything is created or charged. Failures that happen after the request is accepted are reported on the deployment itself. See Failure Fields.
List Deployments
Query Parameters
Response
Get Deployment
Deployment Status
Failure Fields
Whenstatus is failed, these fields explain the failure and the next step. Internal service details are replaced with a generic customer message.
retryable describes whether a new request may succeed later. It does not mean that the current request will be retried automatically.
A reserved first hour is always refunded when provisioning fails, whatever the code.
Connection Fields
Connection info isnull until the deployment reaches active status:
Errors
404 not_found: the deployment does not exist, or is not owned by you.
Shutdown and Start
These API-only operations are supported for Verda and Hyperstack deployments whose deployment status isactive. They do not change the deployment’s ID, billing period, or deployment status. Other providers return 400 provider_not_supported. Application startup after powering on depends on the services configured inside the VM.
running power state; start requires stopped. If the VM is already at the requested target, the endpoint returns 200 OK with action_submitted: false. Otherwise, the provider accepting the request returns 202 Accepted:
While the provider is in maintenance, both endpoints return
503 provider_maintenance, even when the VM is already at the requested target. A VM that is powered off then stays off, and is billed, until the maintenance ends, so start it before the window begins. Check the HTTP status of each call in a script: a loop that waits for stopped or running after a refused request never finishes.power_state is the provider observation before submitting the action, not confirmation that it has finished. Poll the power endpoint until it reports stopped for shutdown or running for start. On Hyperstack, power_state reads unknown for about 20 to 30 seconds while the VM is changing state. That is expected, so keep polling; a /shutdown or /start sent in that window returns 400 validation_error. Wait for the first action to finish before sending the opposite action, and do not resend the same action until /power reflects it. SSH and applications can take longer to become ready after the VM is running: expect a few minutes. On Hyperstack, the network can take up to 10 minutes to reach the VM again after a start, even though it has already booted.
If the VM stopped responding
A shutdown or reboot run inside the VM is not visible to the provider, sopower_state can stay running while the VM is down. On Verda, confidential-computing machines (the B200, B300 and RTX PRO 6000 types) cannot reboot from inside at all: reboot or shutdown -r leaves them down until they are powered off and on again.
To bring the VM back, call /shutdown, poll /power until it reports stopped, then call /start. /start on a VM reported as running returns 200 OK without sending a start: Verda’s start action reboots a running VM, and Hyperstack refuses it.
Get Power State
200 OK with the same fields, requested_action: null, and action_submitted: false. The power_state is read from the provider on each request: running, stopped (powered off, billing continues), pending (being created or validated), stopping (being deleted, reported by Verda only), terminated, failed, or unknown (no clear answer from the provider, or a Hyperstack VM in the middle of a shutdown or start). terminated and failed mean the VM is gone; the health check reconciles the deployment within a few minutes, or once the provider’s maintenance has ended if it is in maintenance. This endpoint also requires an active Verda or Hyperstack deployment.
Power Control Errors
Stop Deployment
200 OK with the updated deployment object, and the deployment’s history is retained rather than deleted.
Stopping also works while the provider is in maintenance. Billing ends when the request is accepted, and the instance is removed as soon as the provider accepts the delete. Until then the deployment shows stopping.
Attached persistent volumes are detached and retained. They continue to incur storage charges until deleted and can be attached to a new compatible deployment. Retaining a volume or deployment history does not preserve a restartable VM.