Page tree
Skip to end of metadata
Go to start of metadata
Title (Goal)System will expose a 'REST' API for integration with UIs and M2M services
Primary ActorSystem
ScopeHTTP - XML/JSON service
LevelSummary level - no API specifics
Story (A paragraph or two describing what happens)

System will expose a RESTful API with which one can manage content in the respository, including

CRUD (create, read, update, and delete) operations on content objects, their containers, etc. The API will

also enable administrative operations such as user-management.


  1. As of DSpace 4, there is a READ-only API, built on JERSEY, that lets you retrieve content from DSpace. This has been sufficient for the demo User-Interfaces (rails, java/scala play!) that have been built as DSpace REST API clients.


    Supporting the full CRUD capabilities on DSpaceObjects is a definite goal, as well as potentially allowing full administrative capabilities. This could also lead to leaning / severing the current DSpace webapps (JSPUI / XMLUI), as instead of being tightly coupled with DSpace, and performing too-much business logic, slowly we could shift the logic central to the service layer, or atleast just expose all the actions you need, through the API. If we built DSpace-REST-XMLUI (a refactored XMLUI that communicates via /rest/<endpoint>, instead of having direct access to DSpace through Java), then you could thin out the core of DSpace to just be dspace-api, and dspace-rest, all the other app's could ship separately, run separately, upgrade/deploy separately / independently of DSpace.

    This might be developer news, but before exposing higher level actions on DSpace, we need to solve Authentication, i.e. OAUTH in /rest.

  2. Newer Library systems have the ability to create Metadata in a Catalogers environment and it would be nice to then send that information to DSpace - (Alma by ExLibris)...

  3. The new REST API for DSpace 7 is under development, more information can be found in the links below: