TensorDock Virtual Machines API

Deploy, list, start, stop, modify, and delete virtual machines

Operations 7

POST /api/v0/client/deploy/single Deploy Virtual Machine #
POST /api/v0/client/list List Virtual Machines #
POST /api/v0/client/get/single Get Virtual Machine #
POST /api/v0/client/start/single Start Virtual Machine #
POST /api/v0/client/stop/single Stop Virtual Machine #
POST /api/v0/client/modify/single Modify Virtual Machine #
POST /api/v0/client/delete/single Delete Virtual Machine #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tensordock-virtual-machines-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

tensordock-virtual-machines-api-openapi.yml Raw ↑
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.

        '