We all know how to develop an API right? You just churn out a bit of JSON and call it a day... In this talk we're going to dig just a bit deeper then that. How do I choose HTTP codes, when should I use what verb, how do I structure endpoints, and what is this HATEOAS thing? After we've covered the basics, we'll move on to more advanced topics such as authentication, versioning, and custom headers.