> For the complete documentation index, see [llms.txt](https://docs.nebulablock.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nebulablock.com/api-reference/platform-api/list-products/list-os-images.md).

# List OS Images

List the operating system images in the Nebula Block catalog.

Return a list of the operating system images in the catalog, including details about each image's version and driver, if applicable.

## HTTP Request

`GET` `{API_URL}/computing/images`

## Response Attributes

#### data `object`

Images are **grouped by country**, not returned as a flat array:

```
data → "CANADA" → [ image, image, … ]
```

One key may be `null`, for images not tied to a country.

> **Note:** The top-level key is the image's country, not its `region`. The two are not always the same string: images keyed under `CANADA` can carry regions `CANADA`, `CANADA-1` or `Toronto`. Group on the key, but pair images with products on `dc_id`.

> **Important:** This endpoint lists **every image in the catalog**, not the subset you can actually deploy. More countries appear here than in [List Products](/api-reference/platform-api/list-products.md) — there are images for data centers that currently sell no products — and images that are unavailable, or restricted to hardware configurations other than the one you picked, are returned all the same. A `product_id` and `image_id` that do not go together are only rejected at deploy time. Match `dc_id` first, and prefer an image whose `os_name` matches what the console offers for that configuration.

Each image contains:

* **id** `string`: The image's unique identifier. Pass this as `image_id` to [Create Instance](/api-reference/platform-api/list-products/create-instance.md). A few catalog rows carry a `null` id and cannot be deployed — skip them.
* **dc\_id** `number`: Identifier of the data center holding the image. **Must match the `dc_id` of the product you deploy** — an image and a product from different data centers cannot be combined.
* **os\_name** `string`: The full image name, for example `Ubuntu Server 22.04 LTS R535 CUDA 12.2`.
* **os\_type** `string`: The operating system family, for example `Ubuntu`.
* **region** `string`: The region the image is available in. May be more specific than the key it is grouped under, and `null` for images not tied to a region.

#### status `string`

Indicates the result of the request. `success` signifies success, while `failed` indicates an error.

#### message `string`

A description of the status of the request.

## Example

#### Request

```bash
curl -X GET '{API_URL}/computing/images' \
-H 'Authorization: Bearer {TOKEN/KEY}' \
-H 'Content-Type: application/json'
```

#### Response

```json
{
    "data": {
        "CANADA": [
            {
                "id": "79f79270-656a-4a30-be43-9a884b43b7ea",
                "dc_id": 8,
                "os_name": "Ubuntu Server 22.04 LTS R535 CUDA 12.2 with Docker",
                "os_type": "Ubuntu",
                "region": "CANADA-1"
            },
            {
                "id": "5d062858-4362-4246-8a63-f049b73e3cb0",
                "dc_id": 2,
                "os_name": "Ubuntu Server 22.04 LTS R535 CUDA 12.2",
                "os_type": "Ubuntu",
                "region": "CANADA"
            }
        ],
        "US": [
            {
                "id": "f7878dc2-23c0-4131-a93d-67a6b54bfca7",
                "dc_id": 2,
                "os_name": "Ubuntu Server 22.04 LTS R535 CUDA 12.2",
                "os_type": "Ubuntu",
                "region": "US"
            }
        ]
    },
    "message": "All OS retrieved successfully",
    "status": "success"
}
```
