---
id: "id-generator"
type: "kind"
category: "data"
url: "https://localhost:3000/catalogue/kinds/id-generator"
---

# ID generator

Issues unique identifiers.

| | |
|---|---|
| Category | Data |
| Properties | 7 |
| Components | 5 |
| Rules | 0 |

## Properties

| property | type | values | required | default |
|---|---|---|---|---|
| `batchSize` | integer | — | no | — |
| `central` | boolean | — | no | false |
| `clockRollbackGuard` (advanced) | boolean | — | no | false |
| `managed` | boolean | — | no | false |
| `replicated` | boolean | — | no | false |
| `strategy` | enum | `uuid`, `ulid`, `snowflake`, `counter`, `counter-batched`, `hash` | yes | — |
| `timeSortable` | boolean | — | no | false |

## Rules for this kind · 0

No rule selects this kind or its category.

## Components · 5

### vendor-neutral

- [Generic ID generator](https://localhost:3000/catalogue/components/id-generator.md) `id-generator` — the kind itself

### default

- [Snowflake ID](https://localhost:3000/catalogue/components/snowflake-id.md) `snowflake-id` — 5 defaults
- [Ticket server](https://localhost:3000/catalogue/components/ticket-server.md) `ticket-server` — 5 defaults
- [ULID service](https://localhost:3000/catalogue/components/ulid-service.md) `ulid-service` — 5 defaults
- [UUID generator](https://localhost:3000/catalogue/components/uuid-generator.md) `uuid-generator` — 5 defaults

## Source (`kind` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../schema/kind.schema.json
# Abstract kind: Issues unique identifiers (Snowflake, ticket servers, batched counters, ULID services).
schemaVersion: "1"
type: "kind"
id: "id-generator"
category: "data"
properties:
  strategy:
    type: "enum"
    values: ["uuid", "ulid", "snowflake", "counter", "counter-batched", "hash"]
    required: true
  central:
    type: "boolean"
    default: false
  replicated:
    type: "boolean"
    default: false
  timeSortable:
    type: "boolean"
    default: false
  clockRollbackGuard:
    type: "boolean"
    default: false
    advanced: true
  batchSize:
    type: "integer"
  managed:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/kinds/id-generator
