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

# Is valid UUID

> Checks if the value is a UUID string, optionally of specific versions.

Checks whether the incoming value is a UUID, the long unique identifier written as five groups of hexadecimal characters separated by dashes, such as `f47ac10b-58cc-4372-a567-0e02b2c3d479`. Use this to confirm an identifier field holds a properly shaped UUID before you use it as a key or pass it to another system, or to route records with a missing or malformed identifier down a different path.

Upper and lower case are both accepted. Only text can be a UUID: numbers, on/off values, empty values and lists never match. If you would rather be alerted when a field holds the wrong kind of value, turn on **Throw error when data type is not string**.

This documentation describes: [Schema](/schemas/condition/format-uuid-v2)

## Fields

**Versions**

Optional

The kinds of UUID you want to accept. Leave this empty to accept any value in UUID format, whatever its version. Select one or more of **V1** to **V8** to only accept UUIDs of those versions as defined by RFC 9562, the UUID standard. **NIL** accepts the special all-zeros UUID (`00000000-0000-0000-0000-000000000000`) and **Max** the all-`f` UUID (`ffffffff-ffff-ffff-ffff-ffffffffffff`). Most integrations leave this empty unless the system you are working with requires a particular version, such as V4 for random identifiers or V7 for time-ordered ones.

**Throw error when data type is not string**

Optional

Off by default. When off, a value that is not text, such as the number `12345` or an empty value, simply does not match. When on, such a value stops the run with an error instead, which helps you spot data that arrives in an unexpected shape.

## Sample data

This checks each entity's `id` field.

With **Versions** left empty, any value in UUID format matches:

| Incoming value | Result |
| - | - |
| `f47ac10b-58cc-4372-a567-0e02b2c3d479` | Matches |
| `F47AC10B-58CC-4372-A567-0E02B2C3D479` (upper case) | Matches |
| `00000000-0000-0000-0000-000000000000` (NIL) | Matches |
| `f47ac10b-58cc-9372-a567-0e02b2c3d479` (a version not defined yet) | Matches |
| `f47ac10b58cc4372a5670e02b2c3d479` (no dashes) | Does not match |
| `order-1001` | Does not match |
| `12345` (a number) | Does not match |
| `null` (no value) | Does not match |

With **Versions** set to **V4** and **V7**, only those versions match:

| Incoming value | Result |
| - | - |
| `f47ac10b-58cc-4372-a567-0e02b2c3d479` (V4) | Matches |
| `018a7c2c-4b68-71f2-8000-062828b8493d` (V7) | Matches |
| `00000000-0000-0000-0000-000000000000` (NIL) | Does not match |
| `f47ac10b-58cc-9372-a567-0e02b2c3d479` (a version not defined yet) | Does not match |

```json Configuration theme={null}
{
  "prototype": "format-uuid-v2",
  "parameters": {
    "versions": ["4", "7"],
    "throwOnInvalidType": false
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.