REST API: Requests

This page explains the format for raw HTTP calls to the LibraryH3lp REST API.


The LibraryH3lp REST API supports two forms of authentication: HTTP basic auth and cookies.

When using cookie-based authentication, each request must be accompanied by the session cookie obtained during the authentication process to convey your identity. Most HTTP clients (including web browsers) include support for cookies.


You'll need to include X-API-Version as part of each request. Otherwise the request will not succeed. The value suppled for X-API-Version correponds to the API version specified in the request URI as follows:

  • Path starts with /2011-12-03/..., X-API-Version = 2011-12-03
  • Path starts with /2013-07-21/..., X-API-Version = 2013-07-21
  • Path starts with /2016-02-10/..., X-API-Version = 2016-02-10
  • Path starts with /api/..., X-API-Version = 2017-01-20

Retrieving Resources with the HTTP GET Method

You can retrieve a representation of a resource by GETting its URL. The easiest way to do this is to copy and paste a URL into your web browser's address bar.

Creating or Updating Resources with the HTTP POST and PUT Methods

Creating or updating a resource involves performing an HTTP PUT or HTTP POST to a resource URI. In the PUT or POST, you represent the properties of the object you wish to update as form URL-encoded key/value pairs. This is how browsers encode POSTs by default. But be sure to set the HTTP Content-Type header to application/x-www-form-urlencoded for your requests if you are writing your own client.

Deleting Resources with the HTTP DELETE Method

To delete a resource make an HTTP DELETE request to the resource's URL. Not all LibraryH3lp REST API resources support DELETE.

HTTP Method Overloading

LibraryH3lp's REST API uses HTTP GET, POST, PUT and DELETE methods. Since some HTTP clients do not support methods PUT and DELETE, you can simulate them via POST by appending the query string parameter _method (note: the underscore is necessary) to a resource URL. Valid values are PUT and DELETE.

For example if your client is only capable of GET and POST, this is how you can perform a DELETE: POST /2011-12-03/users/35158?_method=DELETE