Welcome to json:api’s documentation!


This documentation is in development and not updated frequently. Check tests and raise issue or question if you have any.


Requires: Django (1.6, 1.7); python (2.7, 3.3).

pip install jsonapi


Create resource for model, register it with api and use it within urls!

# resources.py
from jsonapi.api import API
from jsonapi.resource import Resource

api = API()

class AuthorResource(Resource):
    class Meta:
        model = 'testapp.author'

# urls.py
from .resources import api

urlpatterns = patterns(
    url(r'^api', include(api.urls))


What makes a decent API Framework? These features:

  • + Pagination
  • + Posting of data with validation
  • + Publishing of metadata along with querysets
  • + API discovery
  • Proper HTTP response handling
  • Caching
  • + Serialization
  • Throttling
  • + Authentication
  • Authorization/Permissions

Proper API frameworks also need:

  • Really good test coverage of their code
  • Decent performance
  • Documentation
  • An active community to advance and support the framework


  • Resource definition
  • Resource and Models discovery
  • Authentication
  • Authorization


curl -v -H “Content-Type: application/vnd.api+json”

Test Application Models