REST API described here is work in progress. It changes along with the development of Papermerge Core in master branch.

In order to use REST API interface you need an http client. Probably the most wide-spread (and free) http client is cUrl.

Another convenient, free to use and with graphical user interface http client is Postman.

In following sections cUrl will be used to illustrate examples of usages.

Server URL + Prefix

Throughout this REST API documentation you will notice reference to <server-url> - this is be base http (or https) url of your Papermerge instance and it is totally dependent on where your instance was deployed.

Please note that <server-url> always includes the /api/ prefix. Examples of <server-url> with prefix:

Let’s take an example for specific API, say Auth-token. If your <server-url> is https://example.com/api/ then, in order to authenticate and get a token you’ll need to run following curl command:

curl -XPOST https://example.com/api/auth-token/ \
-H 'Content-Type: application/json' \
-d '{"username":"john","password":"password"}'

Another example, this time using Users:

curl https://example.com/api/users/ \
 -H 'Content-Type: application/vnd.api+json'
 -H 'Authorization: Token ababfa840abb6b8aa3a185e631c19095c70de932'


When quering for json data types always pay attention to Content-Type header. For json data it sometimes may be either application/json or application/vnd.api+json. Each REST API call reference documents correct value of Content-Type header.