Skip to content
Switch branches/tags

Latest commit

* Update chapter03-presenting-users.adoc

Fix: Use correct password_digest field in test code.
Fix: Typo.

* Update chapter03-presenting-users.adoc

Fix: Commit message for update action.

* Fix casing in create Order model statement

* Remove duplicated question from answers.

* Expose order model, not user model.

Git stats


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

Api on Rails 6

Learn best practices to build an API using Ruby on Rails 5/6. The intention with this book it's not only to teach you how to build an API with Rails. The purpose is also to teach you how to build scalable and maintainable API with Rails which means improve your current Rails knowledge. In this book you will learn to:

  • Build JSON responses
  • Use Git for version controlling
  • Testing your endpoints
  • Optimize and cache the API

This book is based on "APIs on Rails: Building REST APIs with Rails". It was initially published in 2014 by Abraham Kuri. Since the original work was not maintained, I wanted to update this excellent work. 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.

Update & translation of the API on Rails (EN) book. This book is written using Asciidoctor.

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 api_on_rails
$ 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