Here is what I had done in past. In both frontend and backend code (consumer application), the code responsible for hitting provide, processing it, and then returning a response is part of util. I would look at the util and see how it is behaving against the response. If the util is checking two scenarios, one happy (200) and one bad (4xx), I would add two separate interactions -- one for each. This has been good enough as it allowed having contract tests only limited to testing instructions and not turn into provider functional test.