# Integration Events

> A design pattern that publishes a versioned public event, mapped from an internal domain event, for consumers outside the service.

Record: `architecture:integration-events`
Kind: pattern
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: recommended
Scope: service boundary, messaging
Canonical: https://banes-lab.com/ontology#architecture-integration-events

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Domain Events](https://banes-lab.com/records/architecture/domain-events.md) and before [Asynchronous Communication](https://banes-lab.com/records/architecture/asynchronous-communication.md).

## Repair

- Refactored by: Map Domain Event to Integration Event
- Detected by: internal event schema published externally
- Violated by: exposing internal domain events directly to external consumers
- Measured by: boundary event contract coverage
- Enforced by: event schema review

## Requires

- [Message Contract](https://banes-lab.com/records/lexicon/message-contract.md)
- [Versioning](https://banes-lab.com/records/architecture/versioning.md)

## Reinforces

- [Interoperability](https://banes-lab.com/records/architecture/interoperability.md)

## Enables

- [Cross-Service Communication](https://banes-lab.com/records/lexicon/cross-service-communication.md)

## Conflicts with

- [Internal Domain Event Leakage](https://banes-lab.com/records/lexicon/internal-domain-event-leakage.md)

## In tension with

- [Duplication with Domain Events](https://banes-lab.com/records/lexicon/duplication-with-domain-events.md)

## Tensions

- [Integration Events / Duplication with Domain Events](https://banes-lab.com/records/tension/duplication-with-domain-events-integration-events.md)

## Severity

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

## Category

- [Event / Messaging / Asynchronous Architecture](https://banes-lab.com/records/architecture-category/event-messaging-asynchronous-architecture.md)

## Linked from

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md)
- [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lexicon-category-core-vocabulary.md)
- [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
