Alfresco platform, since 5.2. version, introduces a new set of REST APIs that you can use to easily build custom applications or REST clients on top of it.
The new REST APIs take a new approach on both development and consistency. We've moved to a “Contract First” model where we define OpenAPI Specification (formerly known as Swagger) for all endpoints, which then goes through extensive reviews before implementation starts. This ensures that we have consistency across all our APIs, making them easier to consume.
The new APIs are also versioned and we have strict policies in place on not breaking backwards compatibility, while still allowing additive changes without changing the version number. The first version of the APIs is Version 1, and therefore you will see the APIs being referenced as the “v1 REST APIs” moving forward.
A side effect of wrapping the v1 REST APIs in OpenAPI Specification is that we can leverage Swagger UI to generate interactive documentation. We call this the REST API Explorer and it is a great tool to explore our APIs.
We have introduced a new set of REST APIs in 5.2 and we're very excited to share them with you. Start watching the video below for more details.
To understand the basis and find a lot of useful references about the Alfresco 5.2 REST APIs, there is a nice page (written and maintained by Gavin Cornwell and Jan Vonka) collecting a lot of resources, including documentation, examples, presentations, etc. Our suggestion is to look at this content first, and then move to this example describing an practical exercise using the REST services over the Alfresco Content Services.
All the content available in this tutorial has been developed and tested using Alfresco Content Services 5.2. Below the full list of platforms, languages, frameworks and tools.
Linux Ubuntu 16.04.01 LTS as Operating System.
Alfresco Community Edition 201611-EA release for Linux (running on port 8080).
Each variation to the listed versions and tools could affect the success of the tutorial, even if the involved technologies and tasks have been defined to be as more general as possible, not related to any specific context or platform. Please let us know for any issue or problem, requesting for support into the Community Portal dedicated to the Alfresco ECM.