This talk will review the challenges of building API SDKs and what our team has learned from building SDKs for the Microsoft Graph. We will discuss the architectural principles and design that we are adopting for our SDKs to ensure that developers of all skill levels can benefit. This approach to SDK design is intended to support scenarios from desktop applications that make only dozens of calls a day, to services that make millions of calls a day. Whether you are looking to support just a single language or a dozen languages, just like our SDKs, this talk will have something of value for all developers who work with APIs.