> Full SurrealDB documentation index: https://surrealdb.com/docs/llms.txt

# surreal cloud catalog

Reference for surreal cloud catalog - the platform-wide lists of regions, instance types, storage types, SurrealDB versions and billing countries.

`surreal cloud catalog` browses the platform catalogues: the regions, instance types, versions and billing countries SurrealDB Cloud offers. These are the slugs [`instance create`](/docs/reference/cli/cloud/commands/instance.md#instance-create) and [`instance update`](/docs/reference/cli/cloud/commands/instance.md#instance-update) expect.

<Synopsis>
surreal cloud catalog <COMMAND> [OPTIONS]
</Synopsis>

| Command | Purpose |
| --- | --- |
| [`regions`](#catalog-regions) | List the regions instances can be deployed in |
| [`instance-types`](#catalog-instance-types) | List the instance types available on the platform |
| [`storage-types`](#catalog-storage-types) | List the storage instance types available on the platform |
| [`instance-versions`](#catalog-instance-versions) | List the SurrealDB versions instances can run |
| [`billing-countries`](#catalog-billing-countries) | List the countries billing details can be registered in |

These are nouns rather than `list` verbs, because a catalogue has exactly one thing you can do with it. None takes a positional argument, none takes `--org`, and none carries any flag beyond the [list presentation flags](/docs/reference/cli/cloud/output-and-exit-codes.md#list-presentation-flags).

> [!IMPORTANT]
> These lists are **global**. What an organisation may actually deploy is narrower, and [`org plans`](/docs/reference/cli/cloud/commands/org.md#org-plans) is the organisation-scoped answer - the one to trust before a create.

## surreal cloud catalog regions {#catalog-regions}

List the regions instances can be deployed in.

<Synopsis>
surreal cloud catalog regions [OPTIONS]
</Synopsis>

This command takes no positional arguments and no options of its own. Column ids are `slug` and `description`, with `flag` under `--wide`.

```bash
surreal cloud catalog regions
```

```text title="Output"
SLUG        DESCRIPTION
aws-euw1    Europe (Ireland)
aws-use1    US East (N. Virginia)
aws-usw2    US West (Oregon)
```

```bash title="Just the slugs"
surreal cloud catalog regions --columns slug --no-header
```

The `slug` is what `--region` accepts.

## surreal cloud catalog instance-types {#catalog-instance-types}

List the instance types available on the platform.

<Synopsis>
surreal cloud catalog instance-types [OPTIONS]
</Synopsis>

This command takes no positional arguments and no options of its own. Column ids are `slug`, `category`, `cpu`, `memory`, `units`, `price_hour`, `storage` and `enabled`, with `display_name`, `restricted` and `description` under `--wide`.

```bash
surreal cloud catalog instance-types
```

```bash title="Cheapest first"
surreal cloud catalog instance-types --sort price_hour
```

The `slug` is what `--type` accepts. Prices stay in integer minor units under `--json`.

The `enabled` column is left unset here, because whether a type is available to you is a property of your organisation's plan rather than of the platform - check [`org plans`](/docs/reference/cli/cloud/commands/org.md#org-plans), or price a specific combination with [`instance estimate`](/docs/reference/cli/cloud/commands/instance.md#instance-estimate).

## surreal cloud catalog storage-types {#catalog-storage-types}

List the storage instance types available on the platform.

<Synopsis>
surreal cloud catalog storage-types [OPTIONS]
</Synopsis>

This command takes no positional arguments and no options of its own. The columns are the same as [`instance-types`](#catalog-instance-types).

```bash
surreal cloud catalog storage-types
```

An empty list is a success, and says why on stderr:

```text
No storage instance types are offered. Distributed storage may not be available here.
```

## surreal cloud catalog instance-versions {#catalog-instance-versions}

List the SurrealDB versions instances can run.

<Synopsis>
surreal cloud catalog instance-versions [OPTIONS]
</Synopsis>

This command takes no positional arguments and no options of its own. The single column id is `version`.

```bash
surreal cloud catalog instance-versions
```

```bash title="The version an update would move to"
surreal cloud catalog instance-versions --limit 1 --no-header
```

The API's own order is newest-first and is left alone. `--sort version` sorts as strings, so `3.10.0` would come before `3.9.0` - prefer the default order when you want the newest release.

An empty list should not happen, and says so:

```text
The API returned no versions, which should not happen. Try again, or report it.
```

## surreal cloud catalog billing-countries {#catalog-billing-countries}

List the countries billing details can be registered in.

<Synopsis>
surreal cloud catalog billing-countries [OPTIONS]
</Synopsis>

This command takes no positional arguments and no options of its own. Column ids are `code` and `name`.

```bash
surreal cloud catalog billing-countries
```

```bash title="Check one country is supported"
surreal cloud catalog billing-countries --json | jq -e '.[] | select(.code == "IE")' > /dev/null
```

## Related pages

- [`instance create`](/docs/reference/cli/cloud/commands/instance.md#instance-create) - where these slugs are used
- [`org plans`](/docs/reference/cli/cloud/commands/org.md#org-plans) - the organisation-scoped subset
- [`instance estimate`](/docs/reference/cli/cloud/commands/instance.md#instance-estimate) - pricing a type and region before committing to it
- [surreal cloud reference](/docs/reference/cli/cloud.md) - the rest of the reference
- [`surreal db sql`](/docs/reference/cli/db/commands/sql.md) - for working with the data inside an instance
