Design patterns help programmers resolve common issues by formalizing best practices. In this course, you'll explore API-specific patterns and how they relate to API services. You’ll start by learning about the differences between stateful and stateless API patterns, as well as content negotiation, URI templates, Design for Intent, and how each relates to API services. You’ll then move on to examine the methods for performing versioning, bulk operations, and pagination with API services. Next, you’ll learn about methods for performing sorting and filtering, as well as API notification and error logging with API services. Lastly, you’ll see the differences between REST and SOAP API web services and when to use each, as well as how to implement both a RESTful and SOAP-based web service.