Future updates to EasyBib's API

Drastic changes in the API will be introduced with a new Content-Type and Accept header.

When the client sends application/vnd.com.easybib.data+json they will receive the original response per spec, whereas application/vnd.com.easybib.data.v1+json would yield a different or extended response.

Hypermedia

EasyBib's APIs utilize hypermedia. This means the API is completely RESTful. The the client needs to understand the vocabulary of the API. The vocabulary is designated by the client's Accept header.

Because EasyBib's API's are hypermedia, it's discouraged to hardcode endpoints into your client code.
The API is fully discoverable, as an example start off by issueing a request for the current user from http://data.easybib.com/user.

Response

Appropriate HTTP status codes are always returned and should be evaluated.

Vocabulary

statusRequiredstring

Attribute with possible values of ok or error.

msgRequired if status errorstring

With status: error, a msg attribute is mandatory and will give more details about the error.

dataRequiredobject or array

The requested data.
Requesting a list (https://data.easybib.com/projects/): The type of data will be an array. All array elements will be of type object that has data and links attribute.
Requesting only one resource (https://data.easybib.com/project/abc): The type of data will be an object. Each object has an attribute data and links (exception is https://data.easybib.com/user/).