A well designed API invites innovation while a poorly designed API will resist any innovative approaches. Not only an well designed will be performant, expressive, fault tolerant, extensively documented; but also it has to abide by all the rules and ethical principle. Besides, an API cannot stick itself to a static snapshot of the system, it has to evolve with growing needs and adapt its usage in future. Definitely, designing and implementing an API system is an epitome of competent software engineer. An opportunity to develop an API from the central learning system of RWTH-Aachen (commonly known as L2P), came as a challenge of lifetime. Being a student of Software System Engineering (SSE) department, I took the opportunity and developed such an API. Currently, the API is being used by thousands of students, teachers, employees of RWTH-Aachen university. In this book, I share my experience, learning, and architectural decisions when I implemented version-1 of L2P-API platform. I hope that this book will guide readers on how to react if they have to build something similar in future ...