> For the complete documentation index, see [llms.txt](https://docs.e6data.com/query-engine/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.e6data.com/query-engine/reference/platform-reference/resource-naming-conventions.md).

# Resource naming conventions

Naming rules for e6data workspaces, clusters, and catalogs - allowed characters, length limits, and how names are normalized.

These rules govern the names you can give e6data resources, whether you create them in the Console or through the Management API.

## Workspace

* **Length:** 1–18 characters.
* **Allowed:** lowercase letters (`a–z`), digits (`0–9`), and hyphens (`-`).
* **Must start and end with** a letter or digit - no leading or trailing hyphen.
* **Not allowed:** uppercase letters, underscores, dots, or other special characters.

| Valid                           | Invalid                                                                              |
| ------------------------------- | ------------------------------------------------------------------------------------ |
| `my-workspace`, `prod-1`, `dev` | `My-WS` (uppercase), `my_ws` (underscore), `-prod` (leading hyphen), `prod.v1` (dot) |

## Cluster

* **Length:** 3–30 characters.
* **Allowed:** letters (upper or lower case), digits (`0–9`), and hyphens (`-`).
* **Must start with** a letter and **end with** a letter or digit.
* **Case-sensitive:** `Prod-1` and `prod-1` are different names.
* **Not allowed:** underscores, dots, or other special characters.
* The cluster name is the routing key in every connection and **cannot be changed after creation**.

| Valid                              | Invalid                                                         |
| ---------------------------------- | --------------------------------------------------------------- |
| `my-cluster`, `Prod-QS-1`, `qs123` | `qs` (too short), `my_cluster` (underscore), `my.cluster` (dot) |

## Catalog

* **Length:** 1–253 characters.
* **Allowed:** the display name is permissive - mixed case, letters, digits, hyphens, and dots.
* **Normalized internally:** e6data stores a normalized version of the name alongside the display name. Underscores, spaces, and other non-allowed characters become hyphens; the name is lowercased; consecutive hyphens collapse to one; and leading or trailing hyphens are trimmed. **Dots are preserved** in both names.

| Display name      | Stored as         |
| ----------------- | ----------------- |
| `My_Catalog`      | `my-catalog`      |
| `My Glue Catalog` | `my-glue-catalog` |
| `PROD_CATALOG`    | `prod-catalog`    |
| `catalog.v1`      | `catalog.v1`      |

## Quick reference

| Resource      | Length | Uppercase | Digits | Hyphen `-`            | Underscore `_`   | Dot `.` |
| ------------- | ------ | --------- | ------ | --------------------- | ---------------- | ------- |
| **Workspace** | 1–18   | ❌         | ✅      | ✅ (not first or last) | ❌                | ❌       |
| **Cluster**   | 3–30   | ✅         | ✅      | ✅ (not first or last) | ❌                | ❌       |
| **Catalog**   | 1–253  | ✅         | ✅      | ✅                     | Converted to `-` | ✅       |

## General guidelines

* Names can't contain spaces, except catalog names, where spaces are converted to hyphens in the normalized name.
* Names are case-sensitive where mixed case is allowed (clusters and catalogs).
* Reserved system prefixes can't be used in names you provide.
* For the broadest compatibility, prefer lowercase letters and hyphens wherever a resource allows it.

## See also

* [Create and manage workspaces](/query-engine/guides/workspaces/create-and-manage-workspaces.md)
* [Create and manage clusters](/query-engine/guides/clusters/create-and-manage-clusters.md)
* [Register and manage catalogs](/query-engine/guides/catalogs/register-and-manage-catalogs.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.e6data.com/query-engine/reference/platform-reference/resource-naming-conventions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
