Skip to main content
POST
POST /v1/dataContracts/{id}/validate

Validate & Results

Run on-demand validation of data contracts and manage execution results. Validation checks schema compliance, semantics rules, and quality expectations. SLA, security, and terms of use aren’t checked.

Validate a Contract

Trigger on-demand validation of a data contract. Returns a DataContractResult with status for each validation dimension. Requires the Edit All permission on the contract. Schema and semantics are checked immediately. When the contract has quality expectations, the call starts the contract’s test suite pipeline and returns a Running result. The quality results and the final status are added to that result when the tests finish. A new validation aborts a result that’s still Running. POST /v1/dataContracts/{id}/validate
string
required
UUID of the data contract.

Validate by Entity

Validate the effective contract for a specific entity, including rules inherited from its data product. If the entity only has an inherited contract from a data product, a local contract is materialized to store results. Requires the Edit All permission on the entity. Returns 404 if the entity has no effective contract. POST /v1/dataContracts/entity/validate
string
required
UUID of the entity.
string
required
Type of the entity (e.g., table, topic).
POST /v1/dataContracts/{id}/validate

Execution Status Values

The Data Contract Validation application also validates every contract on a schedule, daily at midnight by default.

List Results

Retrieve execution results for a contract. GET /v1/dataContracts/{id}/results
string
required
UUID of the data contract.
integer
default:"10"
Maximum number of results to return (0–10,000).
integer
Return results after this epoch timestamp (milliseconds).
integer
Return results before this epoch timestamp (milliseconds).

Get Latest Result

GET /v1/dataContracts/{id}/results/latest Returns the most recent validation result.

Add a Result

PUT /v1/dataContracts/{id}/results Programmatically add a validation result (useful for external validation pipelines).

Body Parameters

integer
required
Epoch timestamp (milliseconds) of the validation run.
string
required
Status: Running, Success, Failed, PartialSuccess, Aborted, Queued.
string
Human-readable summary message.
object
Schema validation details.
object
Semantics validation details.
object
Quality validation details.
object
SLA validation details. OpenMetadata doesn’t fill this in during validation. External pipelines can set it.
integer
Total validation execution time in milliseconds.
Add Result
Add Result
Add Result

Delete Results

DELETE /v1/dataContracts/{id}/results/{timestamp} — Delete a result at a specific timestamp. DELETE /v1/dataContracts/{id}/results/before/{timestamp} — Delete all results before a timestamp.

Error Handling