Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Learn best practices to build an API using Node.js and Typescript. The intention of this book it’s not only to teach you how to build an API. The purpose is also to teach you how to build scalable and maintainable API which means improve your current Node.js knowledge. In this book you will learn to:

  • Build JSON responses following JSON:API standard
  • Use Git for versioning
  • Use Test Driven Development to add unit and functional tests
  • Set up authentication with JSON Web Tokens (JWT)
  • Optimize and cache the API

All the source code of this book is available in Asciidoctor format on this repository. So don’t hesitate to fork the project if you want to improve it or fix a mistake that I didn’t notice.

Support the project

As you may know this project take me some times. So if you want to support me you can buy a version on Leanpub:

Or you can support me with Liberapay: Donate using Liberapay

Build book

$ git clone
$ cd rest-api.ts
$ bundle install
$ rake "build:pdf[6,fr]"

You can see all build available with rake -T

$ rake -T
rake "build:all[version,lang]"   # Build all versions
rake "build:epub[version,lang]"  # Build an EPUB version
rake "build:html[version,lang]"  # Build an HTML version
rake "build:mobi[version,lang]"  # Build a MOBI version
rake "build:pdf[version,lang]"   # Build a PDF version


This book is under MIT license and Creative Common BY-SA 4.0