A popular high level architecture choice in modern program is a REST-based microservices system. This has several advantages such as loose coupling, easy re-use, limited restriction on technologies that can be used, high scalability, etc.
But one of the problems I foresee in such an architecture is poor visibility into what the dependencies of an application are. For example, let's say I have an application that uses one set of REST calls on a daily basis. This application also uses a second set of REST calls, but only once a quarter. If I was to scan the logs for the past week I would see all the daily cals, but I would likely not see the quarterly calls. When it comes time to refactor, the quarterly calls are at high risk of breaking.
What patterns or tools can be used to reduce this risk and provide greater visibility into what the dependencies of a loosely coupled architecture are?