Skip to content

Examples

Sample ODCS v3.1.0 data contracts demonstrating common contract sections.

Quick validation

odcs validate examples/minimal.odcs.yaml

Catalog

File Demonstrates
minimal.odcs.yaml Minimal valid contract: schema, properties, library quality rule
minimal.odcs.json Same contract in JSON
with-sla.yaml Service level agreement properties
with-team.yaml Team object with members (v3.1.0 form)
with-servers.yaml Server definitions with type-specific fields
with-relationships.yaml Schema-level foreign key relationships
with-schema-quality.yaml Nested quality rules (library, SQL, text)
with-extensions.yaml Root and nested customProperties
registry/ Local registry index + cross-file FQN resolution (0.9.0+)

Registry example

odcs registry index examples/registry/
odcs validate examples/registry/consumer.yaml --registry examples/registry/

See registry/README.md.

Validate all examples

for f in examples/*.{yaml,yml,json}; do
  [ -f "$f" ] && odcs validate "$f" && echo "OK $f"
done

More fixtures

Additional valid and invalid fixtures used in integration tests live under tests/fixtures/, including:

  • with-roles.yaml, with-pricing.yaml, with-support.yaml
  • with-schema-array-items.yaml, with-custom-quality-object.yaml
  • invalid-kind.yaml, unsupported-version.yaml (negative cases)

Authoring tips

  • Required root fields: version, apiVersion, kind, id, status
  • version is your contract revision (e.g. 1.0.0); apiVersion is the ODCS spec release (v3.1.0)
  • Quality rules belong under schema[] (not at the contract root)
  • Use customProperties for extensions; unknown fields are rejected
  • Library metrics must use v3.1.0 names: nullValues, missingValues, invalidValues, duplicateValues, rowCount

See ../docs/user/authoring.md and ../docs/user/faq.md.