Qubrid AI Instances API

Provision, manage, start, stop, and terminate GPU compute instances on the Qubrid AI platform. Instances include NVIDIA H100, H200, and B200 accelerators with configurable memory, storage, and networking.

OpenAPI Specification

qubrid-ai-instances-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Qubrid AI Compute Chat Completions Instances API
  description: The Qubrid AI Compute API provides programmatic access to GPU cloud infrastructure including NVIDIA H100, H200, and B200 accelerators. Developers can provision and manage GPU instances for AI and machine learning workloads through API calls. The service supports on-demand compute for training, fine-tuning, and batch inference jobs, with usage-based billing and enterprise features such as team collaboration and usage tracking. Instances can be accessed via SSH, Jupyter notebooks, or Visual Studio Code, and support quick-deploy templates for popular frameworks including PyTorch, TensorFlow, ComfyUI, n8n, and Langflow.
  version: 1.0.0
  contact:
    name: Qubrid AI Support
    url: https://www.qubrid.com/contact
  termsOfService: https://www.qubrid.com/terms-of-service
servers:
- url: https://platform.qubrid.com/api/v1
  description: Qubrid AI Compute Production Server
security:
- bearerAuth: []
tags:
- name: Instances
  description: Provision, manage, start, stop, and terminate GPU compute instances on the Qubrid AI platform. Instances include NVIDIA H100, H200, and B200 accelerators with configurable memory, storage, and networking.
paths:
  /instances:
    get:
      operationId: listInstances
      summary: List compute instances
      description: Returns a list of all GPU compute instances associated with the authenticated user's account, including their current status, GPU type, and connection details.
      tags:
      - Instances
      parameters:
      - $ref: '#/components/parameters/StatusFilter'
      - $ref: '#/components/parameters/PageLimit'
      - $ref: '#/components/parameters/PageOffset'
      responses:
        '200':
          description: Successfully retrieved the list of compute instances.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceList'
        '401':
          description: Authentication failed due to a missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: createInstance
      summary: Create a compute instance
      description: Provisions a new GPU compute instance with the specified GPU type, region, template, and configuration. The instance will be created and started, with SSH access details returned once the instance is running.
      tags:
      - Instances
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstanceRequest'
      responses:
        '201':
          description: Successfully created and provisioned the compute instance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Instance'
        '400':
          description: The request was malformed or contained invalid parameters such as an unsupported GPU type or region.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication failed due to a missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Insufficient credits or billing issue preventing instance creation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /instances/{instance_id}:
    get:
      operationId: getInstance
      summary: Retrieve a compute instance
      description: Returns details about a specific GPU compute instance including its current status, GPU configuration, connection details, and usage metrics.
      tags:
      - Instances
      parameters:
      - $ref: '#/components/parameters/InstanceId'
      responses:
        '200':
          description: Successfully retrieved the instance details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Instance'
        '401':
          description: Authentication failed due to a missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The specified instance was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteInstance
      summary: Terminate a compute instance
      description: Permanently terminates a GPU compute instance and releases all associated resources. This action cannot be undone. Any data stored on the instance's ephemeral storage will be lost.
      tags:
      - Instances
      parameters:
      - $ref: '#/components/parameters/InstanceId'
      responses:
        '204':
          description: Successfully terminated the compute instance.
        '401':
          description: Authentication failed due to a missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The specified instance was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /instances/{instance_id}/start:
    post:
      operationId: startInstance
      summary: Start a compute instance
      description: Starts a previously stopped GPU compute instance. The instance will resume with its previous configuration and any persistent storage will be reattached.
      tags:
      - Instances
      parameters:
      - $ref: '#/components/parameters/InstanceId'
      responses:
        '200':
          description: Successfully initiated start of the compute instance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Instance'
        '401':
          description: Authentication failed due to a missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The specified instance was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /instances/{instance_id}/stop:
    post:
      operationId: stopInstance
      summary: Stop a compute instance
      description: Stops a running GPU compute instance. The instance retains its configuration and persistent storage but releases GPU resources. Billing for GPU compute stops while the instance is stopped.
      tags:
      - Instances
      parameters:
      - $ref: '#/components/parameters/InstanceId'
      responses:
        '200':
          description: Successfully initiated stop of the compute instance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Instance'
        '401':
          description: Authentication failed due to a missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The specified instance was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: A human-readable error message describing what went wrong.
            type:
              type: string
              description: The type of error that occurred.
            code:
              type: string
              description: A machine-readable error code.
    CreateInstanceRequest:
      type: object
      required:
      - gpu_type
      properties:
        name:
          type: string
          description: A user-assigned name for the compute instance.
          maxLength: 128
        gpu_type:
          type: string
          description: The type of GPU to provision, such as H100, H200, or B200.
        gpu_count:
          type: integer
          description: The number of GPUs to assign to the instance.
          minimum: 1
          default: 1
        region:
          type: string
          description: The preferred data center region for the instance.
        template_id:
          type: string
          description: The identifier of a pre-configured template to deploy on the instance, such as PyTorch or TensorFlow.
        ssh_key_ids:
          type: array
          items:
            type: string
          description: A list of SSH key identifiers to install on the instance for secure access.
        rental_plan:
          type: string
          enum:
          - on_demand
          - weekly
          - monthly
          - quarterly
          - annual
          description: The rental plan for the instance, affecting pricing and commitment period.
          default: on_demand
    Instance:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the compute instance.
        name:
          type: string
          description: The user-assigned name of the compute instance.
        status:
          type: string
          enum:
          - running
          - stopped
          - provisioning
          - terminating
          - error
          description: The current status of the compute instance.
        gpu_type:
          type: string
          description: The type of GPU assigned to the instance, such as H100 or H200.
        gpu_count:
          type: integer
          description: The number of GPUs assigned to the instance.
        region:
          type: string
          description: The data center region where the instance is deployed.
        template:
          type: string
          description: The template used to configure the instance environment.
        ssh_host:
          type: string
          description: The SSH hostname or IP address for connecting to the instance.
        ssh_port:
          type: integer
          description: The SSH port for connecting to the instance.
        jupyter_url:
          type: string
          format: uri
          description: The URL for accessing the Jupyter notebook interface on the instance, if enabled.
        created_at:
          type: string
          format: date-time
          description: The timestamp when the instance was created.
        cost_per_hour:
          type: number
          description: The hourly cost of running this instance in USD.
    InstanceList:
      type: object
      properties:
        data:
          type: array
          description: A list of compute instance objects.
          items:
            $ref: '#/components/schemas/Instance'
        total:
          type: integer
          description: The total number of instances matching the query.
  parameters:
    PageLimit:
      name: limit
      in: query
      required: false
      description: Maximum number of results to return per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
    PageOffset:
      name: offset
      in: query
      required: false
      description: Number of results to skip for pagination.
      schema:
        type: integer
        minimum: 0
        default: 0
    StatusFilter:
      name: status
      in: query
      required: false
      description: Filter instances by their current status.
      schema:
        type: string
        enum:
        - running
        - stopped
        - provisioning
        - terminating
        - error
    InstanceId:
      name: instance_id
      in: path
      required: true
      description: The unique identifier of the compute instance.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: QUBRID_API_KEY
      description: Qubrid AI API key passed as a bearer token in the Authorization header. Obtain your API key from the Qubrid AI platform dashboard at https://platform.qubrid.com.
externalDocs:
  description: Qubrid AI Documentation
  url: https://docs.platform.qubrid.com