When building connected software, upfront planning can save a lot of unnecessary coding. For APIs, planning is especially important. You may not control the consuming software. Even if you do, making API changes can cause a cascade of effort as teams scramble to integrate.