---
title: GPU types | Runware Docs
url: https://runware.ai/docs/serverless/api-gpu-types
description: The GPU catalog an application's configuration selects from, with pricing.
relatedDocuments:
  - https://runware.ai/docs/serverless/api
  - https://runware.ai/docs/serverless/compute-and-scaling
  - https://runware.ai/docs/serverless/pricing
---
## Introduction

This is **the catalog an app's configuration selects from**. A `gpuType` the catalog does not carry is rejected when you create or scale an app, and the sizes each entry allows are what `gpusPerWorker` is checked against.

**Rates are per GPU-hour** and are what pay-as-you-go time is billed at. See [Pricing](https://runware.ai/docs/serverless/pricing) for how that time is measured and [Compute and scaling](https://runware.ai/docs/serverless/compute-and-scaling) for choosing between them.

## List GPU types

GETapi.serverless.runware.ai/v1/gpu-types

Returns the global GPU type catalog and pricing. The request requires authentication. Customer principals receive only GPU types with capacity currently offered to customers. A type whose hardware is not yet cleared for customer workloads is omitted. The Runware principal receives the full catalog, including retired types and types not yet offered. Retired entries carry `deletedAt`. Each entry's `pricing` is the price currently in effect.

### [Response](#list-gpu-types-response)

### [data](#list-gpu-types-response-data)

- **Type**: `object[] (10 properties)`
- **Required**: true

#### [id](#list-gpu-types-response-data-id)

- **Type**: `string`
- **Required**: true
- **Min**: `1`
- **Max**: `64`

Public catalog code referenced by `gpuType` in worker configuration (not the internal database row UUID).

#### [name](#list-gpu-types-response-data-name)

- **Type**: `string`
- **Required**: true
- **Min**: `1`

#### [memory](#list-gpu-types-response-data-memory)

- **Type**: `string`
- **Required**: true
- **Min**: `1`

Human-readable memory capacity.

#### [availability](#list-gpu-types-response-data-availability)

- **Type**: `string`
- **Required**: true

How the catalog currently offers this GPU type. `restricted` means the SKU is not generally available. It is not purchased reserved capacity.

**Possible values**: `available` `restricted` `custom`

#### [multiGpuSupport](#list-gpu-types-response-data-multigpusupport)

- **Type**: `boolean`
- **Required**: true

Whether a worker on this GPU type may be granted more than one GPU. `false` means `gpusPerWorker` must be 1.

#### [deletedAt](#list-gpu-types-response-data-deletedat)

- **Type**: `string (date-time) (nullable)`
- **Format**: `date-time`

Retirement time, returned only in the Runware catalog view.

#### [pricing](#list-gpu-types-response-data-pricing)

- **Type**: `object (3 properties)`
- **Required**: true

The price currently in effect, the most recent price whose effectiveFrom is not in the future. The Runware principal can read the full price history, including scheduled future changes, from `GET /v1/gpu-types/{gpuTypeId}/prices`.

##### [id](#list-gpu-types-response-data-pricing-id)

- **Type**: `string (uuid)`
- **Required**: true
- **Format**: `UUID v4`

##### [perSecond](#list-gpu-types-response-data-pricing-persecond)

- **Type**: `string`
- **Required**: true
- **Min**: `1`

Price per GPU per second in USD major units as an exact decimal string (e.g. "0.000767"). Stored and billed from nanodollars internally. The platform bills in USD only.

##### [effectiveFrom](#list-gpu-types-response-data-pricing-effectivefrom)

- **Type**: `string (date-time)`
- **Required**: true
- **Format**: `date-time`

From when this price is effective.

### [Errors](#list-gpu-types-errors)

<table><tbody><tr><td data-rw-cid-pz7tphoj="true">Status</td><td data-rw-cid-pz7tphoj="true">When</td></tr><tr><td data-rw-cid-pz7tphoj="true"><code data-rw-cid-pz7tphoj="">401</code></td><td data-rw-cid-pz7tphoj="true">Missing or invalid credentials</td></tr><tr><td data-rw-cid-pz7tphoj="true"><code data-rw-cid-pz7tphoj="">500</code></td><td data-rw-cid-pz7tphoj="true">Unexpected server error</td></tr><tr><td data-rw-cid-pz7tphoj="true"><code data-rw-cid-pz7tphoj="">503</code></td><td data-rw-cid-pz7tphoj="true">A required service is temporarily unavailable</td></tr></tbody></table>

## Get a GPU type

GETapi.serverless.runware.ai/v1/gpu-types/{gpuTypeId}

Returns an active entry from the global GPU type catalog. Retired entries return `404`. The result is not organization-specific, but the request still requires authentication.

### [Request](#get-gpu-type-request)

Path

### [gpuTypeId](#get-gpu-type-path-gputypeid)

- **Type**: `string`
- **Required**: true
- **Min**: `1`
- **Max**: `64`

Public catalog code for a GPU type (e.g. `h100`), not the internal row UUID.

### [Response](#get-gpu-type-response)

### [id](#get-gpu-type-response-id)

- **Type**: `string`
- **Required**: true
- **Min**: `1`
- **Max**: `64`

Public catalog code referenced by `gpuType` in worker configuration (not the internal database row UUID).

### [name](#get-gpu-type-response-name)

- **Type**: `string`
- **Required**: true
- **Min**: `1`

### [memory](#get-gpu-type-response-memory)

- **Type**: `string`
- **Required**: true
- **Min**: `1`

Human-readable memory capacity.

### [availability](#get-gpu-type-response-availability)

- **Type**: `string`
- **Required**: true

How the catalog currently offers this GPU type. `restricted` means the SKU is not generally available. It is not purchased reserved capacity.

**Possible values**: `available` `restricted` `custom`

### [multiGpuSupport](#get-gpu-type-response-multigpusupport)

- **Type**: `boolean`
- **Required**: true

Whether a worker on this GPU type may be granted more than one GPU. `false` means `gpusPerWorker` must be 1.

### [deletedAt](#get-gpu-type-response-deletedat)

- **Type**: `string (date-time) (nullable)`
- **Format**: `date-time`

Retirement time, returned only in the Runware catalog view.

### [pricing](#get-gpu-type-response-pricing)

- **Type**: `object (3 properties)`
- **Required**: true

The price currently in effect, the most recent price whose effectiveFrom is not in the future. The Runware principal can read the full price history, including scheduled future changes, from `GET /v1/gpu-types/{gpuTypeId}/prices`.

#### [id](#get-gpu-type-response-pricing-id)

- **Type**: `string (uuid)`
- **Required**: true
- **Format**: `UUID v4`

#### [perSecond](#get-gpu-type-response-pricing-persecond)

- **Type**: `string`
- **Required**: true
- **Min**: `1`

Price per GPU per second in USD major units as an exact decimal string (e.g. "0.000767"). Stored and billed from nanodollars internally. The platform bills in USD only.

#### [effectiveFrom](#get-gpu-type-response-pricing-effectivefrom)

- **Type**: `string (date-time)`
- **Required**: true
- **Format**: `date-time`

From when this price is effective.

### [Errors](#get-gpu-type-errors)

<table><tbody><tr><td data-rw-cid-pz7tphoj="true">Status</td><td data-rw-cid-pz7tphoj="true">When</td></tr><tr><td data-rw-cid-pz7tphoj="true"><code data-rw-cid-pz7tphoj="">401</code></td><td data-rw-cid-pz7tphoj="true">Missing or invalid credentials</td></tr><tr><td data-rw-cid-pz7tphoj="true"><code data-rw-cid-pz7tphoj="">404</code></td><td data-rw-cid-pz7tphoj="true">Resource not found</td></tr><tr><td data-rw-cid-pz7tphoj="true"><code data-rw-cid-pz7tphoj="">422</code></td><td data-rw-cid-pz7tphoj="true">The request was well-formed but semantically invalid (e.g. a missing or out-of-range field). A request that could not be parsed returns <code class="component-Code">400</code>. The <code class="component-Code">errors</code> array carries one entry per offending field.</td></tr><tr><td data-rw-cid-pz7tphoj="true"><code data-rw-cid-pz7tphoj="">500</code></td><td data-rw-cid-pz7tphoj="true">Unexpected server error</td></tr><tr><td data-rw-cid-pz7tphoj="true"><code data-rw-cid-pz7tphoj="">503</code></td><td data-rw-cid-pz7tphoj="true">A required service is temporarily unavailable</td></tr></tbody></table>