Few enjoy talking about themselves, but it would be unfair not to describe my experiences and how Level 3 REST came to be. I have been working in the REST API field since 2008 and in SOAP, XML-RPC and other internet-based API technologies (IIOP, anyone?) since the days of Compuserve and Netscape. I have spent countless hours and days struggling with building API servers, consuming APIs in clients and wishing this wasn’t all so damn hard.
I can be reached at @MattBishopL3.
In 2011 I was working at SAP Business Objects in a software research group when Sal Visca, CTO of Elastic Path, asked me leave my comfort zone and join him to build an entirely new API for their commerce engine. They wanted to create an easy-to-use, extensible, modern API that would drive all kinds of touchpoints, from web sites to watches. I met the team and found their energy and enthusiasm impossible to resist.
For the next year we worked hard, mostly on a whiteboard, and then in code, to discover and create a HATEOAS API. We developed reusable patterns along the way and built a coding framework that eased the process of implementing resources and links. We made it fast, fast enough to support enterprise-grade customers in their shopping experiences. Our hypermedia API created a new market space the industry now calls “Headless Commerce.”
Many have concluded that REST needs an opinionated set of resource profiles and patterns to give API clients and developers a language above the HTTP protocol. We need a way out of the genuinely tired arguments over the meaning of status codes and media types. Level 3 REST is my offering to the REST community. I hope it will become a useful pattern language and help make REST fun again.
I want to thank so many talented people who have been a part of discovering the concepts in Level 3 REST. First and foremost, my thanks go to the original “Shapi” team including Ashley Thomas, Ivan Jensen, Mehran Heidarzadeh, Ronald Chen, Drewz Lau, and the late, great Jeremy Skelton. I also want to thank the brilliant minds of Sebastian Schulz, David Clark, and Deepak Azad who shaped our more recent hypermedia design patterns at Elastic Path.
Brian Sletten always blows my mind when I see him speak or read his work. I discovered Resource-Oriented Architecture Patterns for Webs of Data and was so excited about it that I bought 10 copies and passed them out around the office. Brian’s patterns have some similarities to Level 3 REST so interested readers should read his book as well.
© 2019-2022 Matt Bishop
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.