Step 5 optionally attaches a data contract to each output port to govern what the port delivers. It is the fifth of the wizard’s six steps, building on the output ports you defined in Step 4 — Ports.

What you set here

This step is where you optionally attach a data contract to each output port. Each port has a contract picker. You fill it by drafting a new contract or reusing an existing one.

How to attach a contractWhat you do
Add new contract draftCreate a contract inline. Set its name, contract ID, version, description, and whether it belongs to this product or its domain.
Reuse an existing contractPick a contract from the product’s domain or an ancestor domain.

Pick exactly one contract per output port, or leave the picker empty to keep the port uncovered. This step is optional — the count shown, for example 0 contracts, reflects what you have added.

A draft contract can also carry a few service-level properties — name-and-value entries such as availability or freshness — that become SLA records on the contract. Capture the headline ones here and complete the rest on the contract’s detail page later.

Why it matters

A data contract governs the data delivered through one port — its usage rules, quality, and service-level agreement (SLA) guarantees. It covers what that port delivers, not the product as a whole.

Governance is progressive. Attach a contract when it matters, and complete the full terms later on the contract’s detail page. For the guarantees a contract adds, see Data contracts. For the quality and SLA terms it can carry, see Data quality and SLAs.

Rules the wizard enforces

The wizard enforces these rules as you attach contracts:

  • One contract per port. Each output port can be covered by only one contract. Reuse the same contract across ports that share the same guarantees.
  • What the picker lists. The picker shows contracts from the product’s domain and its ancestor domains, plus any contract drafts you create in this step.
  • Uncovered ports are fine. You can attach a contract anytime later, so leaving a port uncovered is allowed. This step is optional.

Recommendations

These decide whether a contract is worth attaching, and how much to fill in now:

  • Draft a contract when the product is consumed across teams.
  • Reuse one contract across ports that share the same guarantees.
  • Fill in the essentials now, and complete the full governance terms on the contract’s detail page later.

A contract turns a port’s promise into an enforceable guarantee that consumers can rely on. Next, review the product and publish it in Step 6 — Review and publish.