Skip to content
A resource-focused Rails library for developing JSON API compliant servers.
Branch: master
Clone or download
Latest commit 1ac6bba Apr 17, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add Issue and PR templates Dec 10, 2017
lib Refactor ActiveRelationResourceFinder into ActiveRelationResource Apr 11, 2019
locales Introduce Path class for parsing include, filter and sort paths Feb 8, 2019
test Refactor ActiveRelationResourceFinder into ActiveRelationResource Apr 11, 2019
LICENSE.txt Update versions and dates May 5, 2017 Update readme Dec 10, 2017
Rakefile Skips the `test:bug_report_template:rails_5` in default task May 5, 2017
jsonapi-resources.gemspec Add database_cleaner to keep integration tests isolated. Mar 22, 2019

JSONAPI::Resources Gem Version Build Status Code Climate

Join the chat at

JSONAPI::Resources, or "JR", provides a framework for developing an API server that complies with the JSON:API specification.

Like JSON:API itself, JR's design is focused on the resources served by an API. JR needs little more than a definition of your resources, including their attributes and relationships, to make your server compliant with JSON API.

JR is designed to work with Rails 4.2+, and provides custom routes, controllers, and serializers. JR's resources may be backed by ActiveRecord models or by custom objects.


Full documentation can be found at, including the v0.10 alpha Guide specific to this version.

Demo App

We have a simple demo app, called Peeps, available to show how JR is used.

Client Libraries

JSON:API maintains a (non-verified) listing of client libraries which should be compatible with JSON:API compliant server implementations such as JR.


Add JR to your application's Gemfile:

gem 'jsonapi-resources'

And then execute:


Or install it yourself as:

gem install jsonapi-resources

For further usage see the v0.10 alpha Guide


  1. Submit an issue describing any new features you wish it add or the bug you intend to fix
  2. Fork it ( )
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Run the full test suite (rake test)
  5. Fix any failing tests
  6. Commit your changes (git commit -am 'Add some feature')
  7. Push to the branch (git push origin my-new-feature)
  8. Create a new Pull Request

Did you find a bug?

  • Ensure the bug was not already reported by searching on GitHub under Issues.

  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

  • If possible, use the relevant bug report templates to create the issue. Simply copy the content of the appropriate template into a .rb file, make the necessary changes to demonstrate the issue, and paste the content into the issue description or attach as a file:


Copyright 2014-2017 Cerebris Corporation. MIT License (see LICENSE for details).

You can’t perform that action at this time.