Skip to main content

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 with 400. 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 is Approved, 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.