- Quick start guide
- Developer resources
- REST API namespaces
- The Object Model, a writeable API
- Roadmap for the REST API
- External endpoints
Our philosophy is to make eLife content promiscuous, and to make it as easy as possible for the content to flow to as many locations as possible. With that in mind we have created a REST API to the content. In addition to the REST API access to content is also available via [RSS], and OAI end point, and through a number of external endpoints that are not managed by eLife. Documentation on this site mainly covers the REST API, but we include information on the other endpoints, and on how to get to external endpoints.
Quick start guide
For the REST API, eLife content is hosted using Fluidinfo under the fluidinfo namespace
elifesciences.org. If you want to dive straight in, the base URL for eLife content is
https://fluiddb.fluidinfo.com/. You can get started by making calls to this endpoint. We have provided a set of example queries. For example the following query will return all articles in a particular subject area:
GET /values?query=elifesciences.org/api_v1/article/subject_area contains "Cell biology"&tag=elifesciences.org/api_v1/article/doi
and the curl version of this operation is:
This documentation is hosted on github. In addition we will make available the code that we use to parse our article XML for population of the API. We have created a mailing list/google group for discussion around our API, however we are unable to respond quickly to this list. There is substantial fluidinfo documentation available.
Fluidinfo is an object data store that we have used for hosting eLife data for the purposes of providing a REST API. You can read the fluidinfo documentation and sign up for an account, although accounts are not required to make read only calls to the API. We have added a bit more detail about fluidinfo, and the resources available here.
REST API namespaces
As we are mapping from our XML into fluidinfo objects, to understand the API, all you need to do is to understand the namespaces we have chosen to describe our objects. We have documented this extensively, but you can also use a tool provided by fluidinfo to explore the namespace.
Fluidinfo support for JSONP is documented here.
The Object Model, a writeable API
One of the powerful things about fluidinfo is that other people can start adding their own information onto objects that we create about eLife articles. We are in effect allowing you to tag, annotate or make comments at a very granular level on information about eLife authors and papers. We will also be decorating eLife articles with article level metrics, from a variety of sources, but if you have other data that you want to add, you can do that too.
In the image below you can see a visual representation of an object that we have created in fluidinfo. This represents the data that we have populated about the article with the DOI dx.doi.org/10.7554/eLife.00242. We are using the DOI of an article as the fluidinfo about tag, as it is the best unique primary descriptor of objects that we are creating.
You can see that we have added information onto the object as essentially key-value pairs. The beautiful thing about this approach is that you can go sign up for a fluidinfo key, and start adding your own metadata too. We hope to start aggregating useful information that appears this way, and exposing it on the original article pages, and to the authors.
Roadmap for the REST API
We have posted the development roadmap on a trello board. It should be treated with appropriate levels of caution and scepticism.
We are aiming to launch the journal website shortly. This will provide RSS and OAI-PMH endpoints for our content, and this documentation will be updated at that point.
We are making eLife content available from a number of non-eLife controlled endpoints, with the aim of making it as easy as possible for people to access the content. We will update documentation on this site about these endpoints, however you can already browse some eLife content on scribd, Mendeley and github xml and github pdf repos. If you have a resource that you think is relevant, and you would like us to add to the documentation, please drop us a line in the group, or send a pull request to the documentation repo.