Glossary

Data contract

A formal, versioned agreement on a dataset's schema and semantics between the team producing it and its consumers.

A data contract is an explicit, typically machine-readable specification of what a dataset looks like: field names, types, allowed values, nullability, and often the business meaning of each field, agreed between whoever produces the data and whoever depends on it downstream. It functions like an API contract, but for data instead of application endpoints.

Contracts are usually versioned and validated automatically: a producer's pipeline checks new data against the contract before publishing, and a breaking change, renaming a field, changing a type, dropping a value, requires a new contract version rather than silently altering the existing one. This is different from a Data SLA, which covers timing and availability rather than structure, and from ordinary schema evolution, which describes how schemas change over time without necessarily enforcing agreement with consumers beforehand.

Data contracts matter because, without them, an upstream team can change a source table and break every downstream dashboard or model with no warning. They are a core practice in data mesh approaches, where each team owns and publishes its own data products, since a contract is what lets independent teams depend on each other's data without constant coordination. The main pitfall is writing a contract nobody enforces in practice, which gives false confidence that breaking changes will be caught.

Last reviewed September 22, 2026

In the index now

Related terms

Related tools

Related guides