Consumer-Driven Contract
A contract derived from what consumers actually use, published to the provider, and verified in the provider's own build.
The inversion from provider-defined specifications is the point. A provider's OpenAPI document says what the API offers; a consumer-driven contract says what is genuinely depended upon.
That difference is actionable: a field no consumer reads can be removed safely; a field one consumer reads cannot. Without contracts, nobody knows which is which, so nothing is ever removed and APIs only accrete.
The mechanics: each consumer's tests record the requests it makes and the response elements it relies on. Those expectations are published to a broker. The provider's pipeline verifies it can satisfy every registered consumer, and fails the build if not — in seconds, before merge, with no shared environment.
The organisational precondition is that providers accept running consumers' expectations in their pipeline, which is a cultural agreement more than a technical one.