Kippt's API documentation
This is Kippt's API documentation. We use the API for our own web frontend and you're free to use it for your own projects and hacks.
If you find an error in the documentation, file an issue or send a pull request.
Mailing list and questions
All data is returned in JSON format. Also all the data that is passed to the server, must be formatted as JSON message. To get JSONP-style responses, supply GET attribute
callback parameter is the desired function name and must be alphanumeric.
Part of the API requires authentication and in some cases authenticated users will receive more information (e.g. is_favorite status for Clip models). Easiest way to test the API is to open GET endpoint in Chrome with JSONView extension installed.
- Browser session
- HTTP Basic Auth
- API Token
Kippt's API uses timestamp based versioning which will return API version for the given date. If there's breaking changes to API, user's are given few months time to migrate.
Interacting with the API
Kippt's API uses regular
When multiple objects are returned, pagination is used.
As this API is also used for Kippt's web app, we have had to make few design compromises and most of the resources can be queried with both numeric and alphabetical identifiers.
While designing Kippt's API, we looked how other well designed APIs are build and structured.
- Instagram - Instagram's API has extremely well designed social API with following, comments and likes. Social structure in Kippt's API is heavily influenced by Instagram
- GitHub - GitHub's API is one of the few which can be navigated with textual identifiers which makes linking of the API and the web frontend possible
- Foursquare - Foursquare uses timestamp based API versioning. So do we (v1 style versioning feels like boxed software).
- 500px - This API documentation borrows heavily from 500px's structure
- django-tastypie - Kippt's pagination design is borrowed from Tastypie