You are here

API overview

Provides an overview of each of the supported APIs, with links to further documentation.

Alfresco Community Edition provides a wide range of APIs which you can use depending on what you are trying to do. The APIs can generally be divided into two main types: Remote, where code runs in the remote client, and Embedded, where the code runs on the server.

For example, the Alfresco Community Edition ReST API is a remote API, designed to allow you to create remote client applications and services. The Repository JavaScript API is an embedded API that allows you to create server-side extensions in JavaScript. The Public Java API is an embedded API that allows you to create server-side extensions that require a lower level of access, such as required if you are writing new services or Java-backed web scripts.

The following table provides a brief overview of each API, with links to further information:

API Type Description Support Status
ReST API Remote

This is the main public API for interfacing your client application with Alfresco. This ReSTful API can be used to access On-Premise repositories.

The ReST API provides the ability to access core repository functionality, such as creating a folder and uploading a file, and Alfresco Community Edition-specific functionality, such as management of sites.
Fully supported.
Repository JavaScript API Embedded

This API is a JavaScript API used primarily for the development of Web Scripts that execute embedded in the Alfresco platform.

Web scripts are extensions to Alfresco Community Edition that can be written and built without requiring compilation, and therefore have a reduced development time.

The web scripts are accessed using URLs, so can be thought of as providing the ability to create custom ReST APIs.
Fully supported.
Search API Embedded The Search API provides access to the search features of Alfresco Community Edition. The Search API accepts POST requests containing JSON structures to group options related to different query concepts together. Fully supported.
Repository Freemarker Template API Embedded

This API provides a wide-range of objects and methods for creating scripts using the FreeMarker templating language, that execute embedded in the Alfresco platform.

It provides a more limited API than the Repository JavaScript API, but with the convenience of using a simpler templating language, rather than a more complex scripting language such as JavaScript.
Fully supported.
Spring Surf API Embedded

Spring Surf is a server-side UI development framework that is used by Share. Both legacy Surf pages and new Aikau pages are based on Spring Surf. A Spring Surf page is backed by one or more presentation web scripts, referred to as Spring Surf web scripts.

The Surf Platform API is used in Surf web script controllers and provides a JavaScript API to allow you to access URL and page contexts, as well as calling remote REST services.
Fully supported.
Aikau Widget and Service Reference/API Embedded

This is the reference, and API, for all the new Aikau widgets and services that are used in the Share user interface. These are fully available when developing custom pages, dashlets, and menus for Share.

Fully supported.
Public Java API Embedded

When you are extending the Platform with new content models and workflows it is often useful to provide corresponding new custom services implemented in Java. The business logic in web script controllers sometimes also need to be implemented in Java to use 3rd party libraries.

Alfresco Community Edition provides numerous Java-level APIs, which are documented through the JavaDoc system. Links to the JavaDoc documentation can be found on the Developer Site.

While in theory it is possible to access the complete range of out-of-the-box Java classes (APIs), there is a public API of classes and interfaces that you should stick to. This is to ensure that your application works on future versions of Alfresco Community Edition and that you get appropriate support.
Fully supported.
Mobile SDK for iOS Remote

The SDK/API to use for developing mobile applications for iOS.

Fully Supported. Current version 1.4.
Mobile SDK for Android Remote

The SDK/API to use for developing mobile applications for Android.

Fully Supported. Current version 1.4.

Sending feedback to the Alfresco documentation team

You don't appear to have JavaScript enabled in your browser. With JavaScript enabled, you can provide feedback to us using our simple form. Here are some instructions on how to enable JavaScript in your web browser.