TensorDock Virtual Machines API
Deploy, list, start, stop, modify, and delete virtual machines
Deploy, list, start, stop, modify, and delete virtual machines
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/tensordock-virtual-machines-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: TensorDock Marketplace Virtual Machines API
description: 'The original TensorDock Marketplace API for deploying and managing GPU virtual
machines across a global network of independent hardware hosts. Endpoints are
authenticated via `api_key` + `api_token` form parameters that are tied to an
organization and can be generated at https://dashboard.tensordock.com/api.
The API covers authorization checks, hostnode discovery, on-demand and spot
virtual machine deployment, instance lifecycle (start, stop, modify, delete),
instant VM deployment, container scaling, and billing balance/revenue lookups.
'
version: '0'
contact:
name: TensorDock Support
email: support@tensordock.com
url: https://marketplace.tensordock.com/support
x-logo:
url: https://www.tensordock.com/favicon.ico
servers:
- url: https://marketplace.tensordock.com
description: TensorDock Marketplace (production)
- url: https://dashboard.tensordock.com
description: TensorDock Dashboard (alias / production)
security:
- ApiKeyPair: []
tags:
- name: Virtual Machines
description: Deploy, list, start, stop, modify, and delete virtual machines
paths:
/api/v0/client/deploy/single:
post:
summary: Deploy Virtual Machine
description: Deploy a new GPU or CPU virtual machine on a chosen hostnode with the requested resource configuration.
operationId: deployVirtualMachine
tags:
- Virtual Machines
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DeployRequest'
responses:
'200':
description: Deployment accepted; server is provisioning.
content:
application/json:
schema:
$ref: '#/components/schemas/DeployResponse'
/api/v0/client/list:
post:
summary: List Virtual Machines
description: List all virtual machines belonging to the calling organization.
operationId: listVirtualMachines
tags:
- Virtual Machines
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AuthCredentials'
responses:
'200':
description: Array of VM objects.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
virtualmachines:
type: array
items:
$ref: '#/components/schemas/VirtualMachine'
/api/v0/client/get/single:
post:
summary: Get Virtual Machine
description: Retrieve details for a single virtual machine by server UUID.
operationId: getVirtualMachine
tags:
- Virtual Machines
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
allOf:
- $ref: '#/components/schemas/AuthCredentials'
- type: object
required:
- server
properties:
server:
type: string
responses:
'200':
description: Virtual machine details.
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualMachine'
/api/v0/client/start/single:
post:
summary: Start Virtual Machine
description: Start a previously stopped virtual machine.
operationId: startVirtualMachine
tags:
- Virtual Machines
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
allOf:
- $ref: '#/components/schemas/AuthCredentials'
- type: object
required:
- server
properties:
server:
type: string
responses:
'200':
description: Start command accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
/api/v0/client/stop/single:
post:
summary: Stop Virtual Machine
description: 'Stop a running virtual machine. The optional `disassociate_resources` parameter
controls whether the GPU is released back to the marketplace.
'
operationId: stopVirtualMachine
tags:
- Virtual Machines
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
allOf:
- $ref: '#/components/schemas/AuthCredentials'
- type: object
required:
- server
properties:
server:
type: string
disassociate_resources:
type: boolean
description: When true, release the GPU; when false, retain the GPU reservation.
responses:
'200':
description: Stop command accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
/api/v0/client/modify/single:
post:
summary: Modify Virtual Machine
description: Adjust the resource allocation (vCPU, RAM, storage, GPU count) for an existing VM.
operationId: modifyVirtualMachine
tags:
- Virtual Machines
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ModifyRequest'
responses:
'200':
description: Modification accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
/api/v0/client/delete/single:
post:
summary: Delete Virtual Machine
description: Permanently delete a virtual machine and release its resources.
operationId: deleteVirtualMachine
tags:
- Virtual Machines
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
allOf:
- $ref: '#/components/schemas/AuthCredentials'
- type: object
required:
- server
properties:
server:
type: string
responses:
'200':
description: Deletion succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
components:
schemas:
AuthCredentials:
type: object
required:
- api_key
- api_token
properties:
api_key:
type: string
description: TensorDock authorization key UUID.
api_token:
type: string
description: TensorDock authorization token UUID.
VirtualMachine:
type: object
properties:
id:
type: string
name:
type: string
status:
type: string
hostnode:
type: string
ip:
type: string
port_forwards:
type: object
resources:
type: object
properties:
vcpu_count:
type: integer
ram_gb:
type: number
storage_gb:
type: number
gpus:
type: array
items:
type: object
rate_hourly:
type: number
DeployRequest:
type: object
allOf:
- $ref: '#/components/schemas/AuthCredentials'
- type: object
required:
- name
- hostnode
- operating_system
- gpu_count
- gpu_model
- vcpus
- ram
- storage
- password
properties:
name:
type: string
hostnode:
type: string
operating_system:
type: string
gpu_count:
type: integer
gpu_model:
type: string
vcpus:
type: integer
ram:
type: integer
storage:
type: integer
password:
type: string
cloudinit_script:
type: string
external_port_22:
type: integer
external_port_80:
type: integer
external_port_443:
type: integer
internal_port_22:
type: integer
internal_port_80:
type: integer
internal_port_443:
type: integer
ipv4:
type: boolean
DeployResponse:
type: object
properties:
success:
type: boolean
server:
type: string
cost:
type: object
SuccessResponse:
type: object
properties:
success:
type: boolean
message:
type: string
ModifyRequest:
type: object
allOf:
- $ref: '#/components/schemas/AuthCredentials'
- type: object
required:
- server
properties:
server:
type: string
vcpus:
type: integer
ram:
type: integer
storage:
type: integer
gpu_count:
type: integer
securitySchemes:
ApiKeyPair:
type: apiKey
in: query
name: api_key
description: 'TensorDock Marketplace endpoints accept an `api_key` + `api_token` pair
passed as form parameters in the request body (or query string for GET
endpoints). Generate pairs at https://dashboard.tensordock.com/api.
'