Consumer-Driven Contracts

How to use Consumer-Driven Contracts and the Pact framework to develop RESTful service contracts

Like many tech companies, at my employer we have a spider’s web of internal services communicating over HTTP. Services call other services. The website calls services. Our iOS and Android apps use these services. The services are owned by a number of different teams, and the apps are owned by entirely separate teams.

Consumer-driven contracts is a pattern that seeks to reduce the risk of maintaining services by explicitly documenting and testing the dependencies between them. We adopted consumer-driven contracts around a year ago, after the technique appeared on the ThoughtWorks Technology Radar.

I’ve posted about our experience on our engineering blog.


Pact Consumer Driven Contracts