# `Chronicle.Correlation.CorrelationId`
[🔗](https://github.com/Cratis/Chronicle.Elixir/blob/main/lib/chronicle/correlation/correlation_id.ex#L4)

Represents a correlation identifier for a logical operation.

Correlation IDs tie together events and side effects that belong to the same
operation (for example a single HTTP request).

# `t`

```elixir
@type t() :: %Chronicle.Correlation.CorrelationId{value: String.t()}
```

# `create`

```elixir
@spec create() :: t()
```

Creates a new random UUIDv4 correlation id.

# `new`

```elixir
@spec new(String.t()) :: t()
```

Creates a new correlation id wrapper from a string value.

# `not_set`

```elixir
@spec not_set() :: t()
```

Returns the sentinel value used for an explicitly unset correlation id.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
