A_Home imeji API V1

Natasa Bulatovic edited this page Jun 30, 2016 · 22 revisions
Clone this wiki locally

REST Resources

Collections

Create, retrieve, update, delete, release imeji collections or retrieve an item template for the collection.

Items

Create, retrieve, update, delete, release imeji items.

Profiles

Create, retrieve, update, delete, release descriptive metadata profiles or retrieve an item template for a profile.

Albums

Create, retrieve, update, delete imeji albums (optionally, possible revision of album concept)

Storage

Retrieve imeji instance storage properties

Authentication

how to authenticate REST API requests and optionally, get new/invalidate an API Key to authenticate against your imeji REST/API

REST API Response codes

View or download the diagram (3,5MB)

V1 REST API Basepath

 <base-url>/rest/v1/ 

REST API Basepath (latest version)

 <base-url>/rest/

Versioning Strategy

Present imeji API versioning strategy is as follows:

  • only one version of imeji API will be supported at a time
  • non compatible version releases will have to increase the version number (e.g. to v2, v3 etc.)
  • smaller modifications of the REST API which will not break client codes will not increase the version number
  • if users provide a request with e.g. /v1 whereas REST API is already serving version /v2 , system will provide response with HTTP 410 Gone status code

    From https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error

    410 Gone Indicates that the resource requested is no longer available and will not be available again. This should be used when a resource has been intentionally removed and the resource should be purged. Upon receiving a 410 status code, the client should not request the resource again in the future. Clients such as search engines should remove the resource from their indices.[16] Most use cases do not require clients and search engines to purge the resource, and a "404 Not Found" may be used instead.

  • if users provide a request without explicit version number, latest available version of the requested operation will be invoked. There will be no guarantee that the operation will work for each client at any times.

  • Community and users shall be timely informed about any compatible/non-compatible API versions

Useful Links

  • Implementation
  • Documentation (Swagger) is used to document the API as its implementation progresses. You can access the documentation at your local imeji instance (once you rebuild it from sources) at

    http://<localhost-imeji-instance-url>/rest-doc/index.html

  • Python Client