---
title: "List machine types"
method: GET
path: "/machine-types"
tags: ["Machines"]
---

# List machine types

`GET /machine-types`

## Request

- Base URL: `https://api.deepnote.com/v2`
- URL: `https://api.deepnote.com/v2/machine-types`
- Auth: HTTP bearer

List the machine types (sizes) projects in the workspace can run on, with their vCPUs, memory and GPUs and whether the workspace's plan allows them: Deepnote's machine types first, in the order the editor lists them, then the workspace's custom machines sorted by name. Also lists the sandbox environments projects can run in. Custom machines and environments are shown only to members who can view integrations.

## Response `200`

List of machine types

- ListMachineTypesResponse
  - `machineTypes` MachineType[], required
    - `id` string, required: Machine type identifier: a Deepnote machine type such as `fjord`, or `custom:<machine-id>` for a custom machine of the workspace.
    - `name` string, required
    - `type` 'deepnote' | 'custom', required: `deepnote` for machine types Deepnote provides, `custom` for machines the workspace defined in one of its sandbox environments. A project can only use a custom machine when it runs in that sandbox environment.
    - `vCpus` number, required: Number of vCPUs the machine can use.
    - `memoryGiB` number, required: Memory the machine can use, in GiB.
    - `gpuCount` integer, required: Number of GPUs attached to the machine.
    - `sandboxEnvironmentId` string, uuid, nullable, required: Sandbox environment a custom machine belongs to. Null for Deepnote machine types.
    - `available` boolean, required: Whether the workspace's plan and this month's free machine quota allow the machine type. Starting a machine can still be refused when the workspace already runs as many projects as its plan allows.
    - `unavailableReason` string, nullable, required: Why the machine type is not available, written for users. Null when it is available.
  - `sandboxEnvironments` SandboxEnvironment[], required: Deepnote's sandbox environment first, then the workspace's custom ones sorted by name; custom ones only for members who can view integrations.
    - `id` string, required: `deepnote` for Deepnote's sandbox environment, a UUID for a custom one.
    - `name` string, required
    - `type` 'deepnote' | 'custom', required: `deepnote` for Deepnote's sandbox environment, `custom` for one the workspace runs on its own infrastructure.
    - `isDefault` boolean, required: Whether new projects in the workspace run in this sandbox environment.
    - `available` boolean, required: Whether machines can start in the sandbox environment now.
    - `unavailableReason` string, nullable, required: Why machines cannot start in the sandbox environment. Null when it is available.

## Other responses

- `401`: Unauthorized
- `403`: Insufficient permissions
- `429`: Rate limit exceeded
- `500`: Internal server error

## Changes

- **2026-10-28** `062f5f1b4638`: 2 breaking, 2 info
  - the response property `machineTypes/items/unavailableReason` became nullable for the status `200`
  - the response property `sandboxEnvironments/items/unavailableReason` became nullable for the status `200`
  - response property `machineTypes/items/unavailableReason` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - response property `sandboxEnvironments/items/unavailableReason` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
- **2026-09-30** `72a433c3cd28`: 1 info
  - added the required property `sandboxEnvironments` to the response with the `200` status
- **2026-09-29** `349de235eff0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/deepnote/apis/deepnote-public-api/changes/machine-types/get.md)

---

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