# Message Contract

> The agreed schema and semantics of messages exchanged between components.

Record: `lexicon:message-contract`
Kind: constraint
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Aliases: Message Contracts
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-message-contract

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Silent Failure](https://banes-lab.com/records/lexicon/silent-failure.md) and before [Replay](https://banes-lab.com/records/lexicon/replay.md).

## Category

- [Core Vocabulary](https://banes-lab.com/records/lexicon-category/core-vocabulary.md)

## Required by

- [Event-Driven Architecture](https://banes-lab.com/records/architecture/event-driven-architecture.md)
- [Message Queue](https://banes-lab.com/records/architecture/message-queue.md)
- [Integration Events](https://banes-lab.com/records/architecture/integration-events.md)
- [Asynchronous Communication](https://banes-lab.com/records/architecture/asynchronous-communication.md)

## Linked from

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