Shadeform Instance Types API

Query standardized instance types, availability, and pricing.

OpenAPI Specification

shadeform-instance-types-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Shadeform Instance Types API
  description: Shadeform is a GPU cloud marketplace exposing a single REST API to deploy and manage GPU compute across many underlying clouds. The API standardizes instance types, availability, and per-GPU-hour pricing across providers, and lets you launch, inspect, restart, update, and delete instances, manage persistent volumes and SSH keys, and save reusable launch templates. All requests are authenticated with an X-API-KEY header.
  termsOfService: https://www.shadeform.ai/terms
  contact:
    name: Shadeform Support
    email: info@shadeform.ai
  version: '1.0'
servers:
- url: https://api.shadeform.ai/v1
security:
- ApiKeyAuth: []
tags:
- name: Instance Types
  description: Query standardized instance types, availability, and pricing.
paths:
  /instances/types:
    get:
      operationId: listInstanceTypes
      tags:
      - Instance Types
      summary: List instance types and availability
      description: Query standardized GPU instance types with configuration, hourly price in cents, deployment type, boot-time estimates, and per-region availability.
      parameters:
      - name: cloud
        in: query
        required: false
        schema:
          type: string
        description: Filter the instance type results by cloud.
      - name: region
        in: query
        required: false
        schema:
          type: string
        description: Filter the instance type results by region.
      - name: num_gpus
        in: query
        required: false
        schema:
          type: string
        description: Filter the instance type results by the number of GPUs.
      - name: gpu_type
        in: query
        required: false
        schema:
          type: string
        description: Filter the instance type results by GPU type.
      - name: shade_instance_type
        in: query
        required: false
        schema:
          type: string
        description: Filter by Shadeform's standardized instance type.
      - name: available
        in: query
        required: false
        schema:
          type: boolean
        description: Filter the instance type results by availability.
      - name: sort
        in: query
        required: false
        schema:
          type: string
          enum:
          - price
        description: Sort the results (e.g. by price).
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceTypesResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Availability:
      type: object
      properties:
        region:
          type: string
        available:
          type: boolean
        display_name:
          type: string
    BootTime:
      type: object
      properties:
        min_boot_in_sec:
          type: integer
        max_boot_in_sec:
          type: integer
    Configuration:
      type: object
      description: Hardware and OS configuration of an instance type or instance.
      properties:
        memory_in_gb:
          type: integer
        storage_in_gb:
          type: integer
        vcpus:
          type: integer
        num_gpus:
          type: integer
        gpu_type:
          type: string
        vram_per_gpu_in_gb:
          type: integer
        interconnect:
          type: string
        os_options:
          type: array
          items:
            type: string
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    InstanceTypesResponse:
      type: object
      properties:
        instance_types:
          type: array
          items:
            $ref: '#/components/schemas/InstanceType'
    InstanceType:
      type: object
      properties:
        cloud:
          type: string
          description: The underlying cloud provider.
          example: hyperstack
        shade_instance_type:
          type: string
          description: Shadeform's standardized instance type.
          example: A100
        cloud_instance_type:
          type: string
          description: Provider-specific instance name.
        configuration:
          $ref: '#/components/schemas/Configuration'
        hourly_price:
          type: integer
          description: The hourly price of the instance in cents.
        deployment_type:
          type: string
          enum:
          - vm
          - container
          - baremetal
        availability:
          type: array
          items:
            $ref: '#/components/schemas/Availability'
        boot_time:
          $ref: '#/components/schemas/BootTime'
  responses:
    Unauthorized:
      description: Missing or invalid X-API-KEY.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: API key issued from the Shadeform dashboard.