---
title: "List of available configurations for spot instance creation"
method: GET
path: "/v1/spots-configs"
tags: ["Compute instances configurations"]
---

# List of available configurations for spot instance creation

`GET /v1/spots-configs`

## Request

- Base URL: `https://api.emma.ms/external`
- URL: `https://api.emma.ms/external/v1/spots-configs`
- Auth: HTTP bearer

When creating spot instances you need to provide the desired hardware configurations. These configurations include CPU, CPU type, RAM, volume size, volume type, and optionally GPU accelerator. Different cloud providers offer various configurations in different data centers. Therefore, before creating any compute instance, you need to verify the available configurations.

Use this endpoint as a reference for available configurations for spot instances. You can search the available configurations by different parameters (provider, location, data center, cloud network type, CPU, CPU type, RAM, volume size, volume type, price, and GPU accelerator type).

When you find an appropriate configuration, provide the hardware parameters in the endpoint for creating or editing a spot instance.

## Query parameters

- `acceleratorTypeId` string
- `acceleratorsMin` number
- `acceleratorsMax` number
- `providerId` integer
- `locationId` integer
- `dataCenterId` string
- `cloudNetworkType` 'isolated' | 'multi-cloud'
- `vCpuType` 'shared' | 'standard' | 'hpc'
- `vCpu` integer
- `vCpuMin` integer
- `vCpuMax` integer
- `ramGb` integer
- `ramGbMin` integer
- `ramGbMax` integer
- `volumeGb` integer
- `volumeGbMin` integer
- `volumeGbMax` integer
- `volumeType` 'ssd' | 'ssd-plus'
- `priceMin` number
- `priceMax` number
- `page` integer
- `size` integer
- `projectId` integer

## Response `200`

Successful operation

- object
  - `totalPages` integer: Total number of pages available
  - `totalElements` integer: Total number of elements across all pages
  - `size` integer: Number of elements per page
  - `content` VmConfiguration[]: List of elements on the current page
    - `id` string: Configuration ID
    - `providerId` integer: ID of the cloud provider
    - `providerName` string: Name of the cloud provider
    - `locationId` integer: Location ID
    - `locationName` string: Location name (city or state)
    - `dataCenterId` string: ID of the data center
    - `dataCenterName` string: Name of the data center
    - `osId` integer: ID of the operating system
    - `osType` string: Type of the operating system
    - `osVersion` string: Version of the operating system
    - `cloudNetworkTypes` string[]: List of the cloud network types
    - `vCpuType` string: Type of virtual Central Processing Units (vCPUs)
    - `vCpu` integer: Number of virtual Central Processing Units (vCPUs)
    - `ramGb` integer: Capacity of the RAM in gigabytes
    - `volumeGb` integer: Capacity of the volume in gigabytes
    - `volumeType` string: Volume type
    - `accelerator` object: GPU accelerator
      - `acceleratorTypeId` string: Accelerator type ID
      - `acceleratorType` string: GPU accelerator type
      - `accelerators` number: Quantity of GPU accelerators
      - `totalGpuMemoryGb` integer: Total GPU memory (GB)
    - `localDisks` object: Local SSD storage directly attached to the host. Data is ephemeral and will be lost when the VM is stopped or deleted.
      - `disks` integer: Number of local disks attached to the VM
      - `sizeTb` number: Size of a single disk in TB
      - `totalSizeTb` number: Total capacity (all disks combined), in TB
      - `type` string: Disk type
    - `cost` object: Cost of the configuration
      - `unit` string: Cost period
      - `currency` string: Currency of the cost
      - `pricePerUnit` number: Cost for the period
  - `number` integer: Current page number (0-based index)
  - `sort` SortObject: Sorting criteria for the elements
    - `empty` boolean: Indicates if the sorting criteria is empty
    - `unsorted` boolean: Indicates if the elements are unsorted
    - `sorted` boolean: Indicates if the elements are sorted
  - `last` boolean: Indicates if this is the last page
  - `first` boolean: Indicates if this is the first page
  - `numberOfElements` integer: Number of elements on the current page
  - `pageable` PageableObject: Pageable object containing pagination information
    - `offset` integer: Offset of the first element on the page
    - `sort` SortObject: Sorting criteria for the elements
      - `empty` boolean: Indicates if the sorting criteria is empty
      - `unsorted` boolean: Indicates if the elements are unsorted
      - `sorted` boolean: Indicates if the elements are sorted
    - `pageSize` integer: Number of elements per page
    - `pageNumber` integer: Current page number (0-based index)
    - `paged` boolean: Indicates if pagination is applied
    - `unpaged` boolean: Indicates if pagination is not applied
  - `empty` boolean: Indicates if the page is empty

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden - Access is denied
- `500`: Internal server error

---

[API](https://skmtc.dev/emma/apis/public-emma-api.md) - [All operations](https://skmtc.dev/emma/apis/public-emma-api/llms.txt) - [OpenAPI document](https://skmtc.dev/emma/apis/public-emma-api/revisions/9e55f0920078?raw)
