Data Contracts
Data contracts define the schema, quality expectations, SLA guarantees, and governance rules for data assets. Contracts can be attached directly to entities or inherited from data products.Supported Entity Types
Data contracts can be attached to the following entity types. Every type supports semantics, SLA, security, and terms of use. Only the types marked below support a schema or quality expectations. A contract that sets an unsupported section is rejected with400.
An entity can have one contract of its own. Creating a second one returns
400.
Contract Sections
A data contract consists of several optional sections:
For every field and how each check works, see Data Contract Specification.
Contract Status
entityStatus holds the contract’s review status. It’s separate from the result of each validation run.
API Endpoints
Inheritance
When an entity belongs to exactly one Data Product whose contract isApproved, the entity inherits the contract’s semantics, SLA, terms of use, and security. Schema and quality expectations are never inherited. An entity in several data products inherits nothing.
The entity can also have its own contract. Its terms of use, security, and SLA take precedence, and the data product’s value fills in only where the entity’s contract leaves one empty. The data product’s semantics rules are added to the entity’s rules, except rules with the same name. GET /v1/dataContracts/entity returns the merged, effective contract.
Create Contract
Create a new data contract for an entity.
List Contracts
List and filter data contracts.
Retrieve Contract
Get a contract by ID, FQN, or entity.
Validate
Validate contracts and view execution results.
Import & Export
Import and export contracts using the Open Data Contract Standard (ODCS) format.