> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flex.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Resource Naming Conventions

> Naming rules and constraints for FlexAI resources

FlexAI resources ([Training Jobs](/cli/reference/training/), [Datasets](/cli/reference/dataset/), [Code Registries](/cli/reference/code-registry/), [Secrets](/cli/reference/secret/), [Inference Endpoints](/cli/reference/inference/), [Storage Providers](/cli/reference/storage/) and [Checkpoints](/cli/reference/checkpoint/)) have specific naming conventions that must be followed.

These conventions ensure that resource names are unique, consistent, and easy to understand.

## Resource names

* Each name must be unique within its namespace — attempting to create a resource with the same name as an existing one will return an error.
* Must start and end with a letter or a number.
* Resource names can use letters (a-z, A-Z), numbers (0-9), hyphens (`-`), and underscores (`_`).
* Must be between 3 and 63 characters long.

## Environment Variables and Secrets

### Key=Value pairs

The **Key** in a Key=Value pair used to describe a Secret or Environment Variable must follow the conventions below:

* Each **Key** must be unique within a command execution: — attempting to use the same **Key** multiple times will return an error.
* The first character must be a letter (a-z or A-Z), a hyphen (`-`), an underscore (`_`), or a period (`.`).
* The rest of the **Key** can include letters (a-z, A-Z), numbers (0-9), hyphens (`-`), underscores (`_`), or periods (`.`), and it can also end with any of these characters.
* Must be **at least** 1 character long.
