# Correlation ID

> A mechanism that attaches one identifier to a request and carries it through every call, message and log line the request causes.

Record: `architecture:correlation-id`
Kind: mechanism
Layer: [Observability](https://banes-lab.com/records/layer/observability.md)
Severity: contextual
Scope: request, message, workflow
Canonical: https://banes-lab.com/ontology#architecture-correlation-id

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Traceability](https://banes-lab.com/records/architecture/traceability.md) and before [Causation ID](https://banes-lab.com/records/architecture/causation-id.md).

## Repair

- Refactored by: Add Middleware, Propagate Header
- Detected by: missing correlation field
- Violated by: logs/events without correlation identifier
- Measured by: correlation coverage
- Enforced by: logging/tracing standards

## Requires

- [Context Propagation](https://banes-lab.com/records/lexicon/context-propagation.md)

## Reinforces

- [Distributed Tracing](https://banes-lab.com/records/architecture/distributed-tracing.md)

## Enables

- [Request-Level Traceability](https://banes-lab.com/records/lexicon/request-level-traceability.md)

## Conflicts with

- [Uncorrelated Events](https://banes-lab.com/records/lexicon/uncorrelated-events.md)

## In tension with

- [Header/Metadata Management](https://banes-lab.com/records/lexicon/header-metadata-management.md)

## Tensions

- [Correlation ID / Header/Metadata Management](https://banes-lab.com/records/tension/correlation-id-header-metadata-management.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Observability / Auditability / Traceability](https://banes-lab.com/records/architecture-category/observability-auditability-traceability.md)

## Required by

- [Traceability](https://banes-lab.com/records/architecture/traceability.md)

## Linked from

- [Posting and waiting are one operation](https://banes-lab.com/disciplined-methodology/collaborate/posting-and-waiting-are-one-operation.md)
- [The ceiling moves by cost](https://banes-lab.com/software-architecture/scale/the-ceiling-moves-by-cost.md)
- [Observability / Auditability / Traceability](https://banes-lab.com/ontology/principles/architecture-category-observability-auditability-traceability.md)
- [Observability / Auditability / Traceability](https://banes-lab.com/ontology/lexicon/lexicon-category-observability-auditability-traceability.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
