When you first set out to build your API, the number of factors to consider may be overwhelming. Which functions do you need to expose to your clients? Which should remain hidden? What if you change your mind in the future? Can your servers handle all of that additional load? The list of questions goes on and on, and some of the trickiest issues may not apparent until you are stuck in the middle of them. Fortunately, there are several existing patterns you can follow to address some of the most common concerns.