# Instance Type


<style>
  span[class^="pill-"] {
    color: white;
    padding: 2px 12px;
    border-radius: 12px;
    font-size: 0.6em;
    vertical-align: middle;
    margin-right: 12px;
    font-family: sans-serif;
    font-weight: bold;
    display: inline-block;
    line-height: 1;
  }
  span.pill-GET { background-color: #61affe; }
  span.pill-POST { background-color: #49cc90; }
  span.pill-PUT { background-color: #fca130; }
  span.pill-DELETE { background-color: #f93e3e; }
  span.pill-PATCH { background-color: #50e3c2; }
  span[class^="pill-"]:after {
    content: attr(data-label);
    font-size: 0.9rem;
  }
</style>

An Instance Type is a resource describing the amount of CPU, RAM and GPUs allocated to a Compute instance.

[Read more](https://www.exoscale.com/pricing/)


---

## Other Operations

## <span data-label="GET" class="pill-GET"></span>get-instance-type

Retrieve Instance Type details

```
GET /instance-type/{id}
```

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `id` | `path` | Must be a valid UUID. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `authorized` | boolean | Requires authorization or publicly available |
| `cpus` | integer | CPU count<br/><br/>Min: `0`. |
| `family` | string | Instance type family<br/><br/>Allowed values: `gpu3`, `gpua30`, `gpu3080ti`, `gpu2`, `gpu`, `memory`, `gpua5000`, `gpub300`, `gpurtx6000pro`, `storage`, `standard`, `colossus`, `cpu`. |
| `gpus` | integer | GPU count<br/><br/>Min: `0`. |
| `id` | string | Instance type ID<br/><br/>Must be a valid UUID. |
| `memory` | integer | Available memory<br/><br/>Min: `0`. |
| `size` | string | Instance type size<br/><br/>Allowed values: `large`, `huge`, `jumbo`, `medium`, `mega`, `small`, `extra-large`, `titan48c`, `titan`, `micro`, `colossus`, `tiny`. |
| `zones` | array of [Zone Name](/reference/api/_schemas/zone-name/) | Instance Type available zones |

<details>
<summary>Example output</summary>

```json
{
  "authorized": true,
  "cpus": 0,
  "family": "gpu3",
  "gpus": 0,
  "id": "string",
  "memory": 0,
  "size": "large",
  "zones": [
    "ch-dk-2"
  ]
}
```
</details>


SDK reference for `get-instance-type`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.GetInstanceType) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.get_instance_type) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#getInstanceType(java.util.UUID))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api get-instance-type`

## <span data-label="GET" class="pill-GET"></span>list-instance-types

List Compute instance Types

```
GET /instance-type
```

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `instance-types` | array of [Compute instance type](/reference/api/_schemas/instance-type/) |  |

<details>
<summary>Example output</summary>

```json
{
  "instance-types": [
    {
      "authorized": true,
      "cpus": 0,
      "family": "gpu3",
      "gpus": 0,
      "id": "string",
      "memory": 0,
      "size": "large",
      "zones": [
        "ch-dk-2"
      ]
    }
  ]
}
```
</details>


SDK reference for `list-instance-types`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.ListInstanceTypes) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.list_instance_types) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#listInstanceTypes())

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api list-instance-types`


