-
Notifications
You must be signed in to change notification settings - Fork 15
A_Home imeji API V1
#REST Resources
Create, retrieve, update, delete, release imeji collections or retrieve an item template for the collection.
Create, retrieve, update, delete, release imeji items.
Create, retrieve, update, delete, release descriptive metadata profiles or retrieve an item template for a profile.
Create, retrieve, update, delete imeji albums (optionally, possible revision of album concept)
Retrieve imeji instance storage properties
[Authentication] (https://github.com/imeji-community/imeji/wiki/E_Authentication)
how to authenticate REST API requests and optionally, get new/invalidate an API Key to authenticate against your imeji REST/API
#V1 REST API Basepath
<base-url>/rest/v1/
#REST API Basepath (latest version)
<base-url>/rest/
#REST API Response codes (larger diagram)
#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
-
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] (https://github.com/imeji-community/pyimeji)