This document discusses different approaches to developing APIs between provider and consumer teams: provider-driven, contract-driven, and consumer-driven. In a consumer-driven approach, the provider and consumer teams meet briefly to agree on the basic API structure. Then, the consumer team iteratively builds expectations and shares them with the provider team. The provider team then iteratively builds the API and verifies it meets the expectations. This approach is good when needs are not fully known, consumers are limited and known, and fast integration with feedback is desired. Challenges include needing tools to facilitate and both teams having to work test-driven and share expectations iteratively.