API Reference Materials api-reference-materials

Adobe Experience Manager (AEM) provides many APIs for developing applications and extending AEM. AEM is built on top of several open-source technologies, which can also be used.

AEM Core APIs core-aem-apis

The following APIs are core to AEM.

API
Description
Adobe Experience Manager as a Cloud Service
Product abstractions such as pages, assets, workflows, and so on.
Granite UI
Adobe’s Open Web stack, providing various essential components (The 6.5 Granite materials apply to AEMaaCS)
Coral UI
Adobe’s visual style for cloud UIs, designed to provide consistency in the user experience
NOTE
For the latest information about Experience Manager APIs, please also visit Adobe Experience Manager as a Cloud Service APIs.

Additional Frameworks additional-apis

AEM relies on several additional open-source APIs.

API
Description
Apache Sling
Web framework that uses a Java Content Repository (JCR) to store and manage content
Apache Jackrabbit Oak
Implementation a scalable and high-performance hierarchical Java Content Repository (JCR) for use as the foundation of modern world-class web sites
Java Content Repository
Specification for the JCR Version 2.0
Apache Felix
Implementation of the Open Services Gateway initiative (OSGi) framework and service platform

API Preference Guidelines guidelines

AEM is built on the following four primary Java API sets in descending order of preference.

Priority
API
Description
1
Adobe Experience Manager as a Cloud Service
Product abstractions such as pages, assets, workflows, and so on.
2
Apache Sling
REST and resource-based abstractions such as resources, value maps, and HTTP requests.
3
Apache Jackrabbit Oak
Data and content abstractions such as node, properties and sessions.
4
Apache Felix
OSGi application container abstractions such as services and (OSGi) components.

If an API is provided by AEM, prefer it over Sling, JCR, and OSGi. If AEM doesn’t provide an API, then prefer Sling over JCR and OSGi.

TIP
For details of these guidelines, see the document Understand Java API Best Practices.

AEM Delivery and Content Management Services and APIs delivery-apis

AEM offers customizable components and content delivery options.

Feature
Description
The Core Components
Standardized Web Content Management (WCM) components for AEM to speed up development time and reduce maintenance cost of your websites
JSON Exporter
Deliver the contents of any AEM page in JSON data model format
Enabling JSON Export for a Component
Generate JSON export of component content based on a modeler framework
Assets API
Allows for create-read-update-delete (CRUD) operations on assets, including binary, metadata, renditions, and comments. See AEM Assets HTTP API
Content Fragments HTTP API
Access Content Fragment content directly over the HTTP API via CRUD operations
Content Fragment GraphQL API
Enable the efficient delivery of Content Fragments to JavaScript clients in headless CMS implementations
Content Fragments Assets HTTP API
Exact format of supported HTTP asset requests
Content Fragment and Content Fragment Model OpenAPIs
Content Fragment and Content Fragment Model OpenAPIs

SPA-Specific APIs spa-apis

AEM Single-Page Application (SPA) Editor SDK framework provides specific JavaScript API references.

API
Description
Component Mapping
Provides a way for the Single Page Application to map front-end components to Adobe Experience Manager resource types (AEM Components)
Page Model Manager
An interpreter between Adobe Experience Manager Editor and the Adobe Experience Manager Single Page Application (SPA) Editor
React Editable Components
Provides the React components and integration layer to get you started with the Adobe Experience Manager Site Editor
Angular Editable Components
Provides the Angular components and integration layer to get you started with the Adobe Experience Manager Site Editor
TIP
Check out the SPA Introduction and Walkthrough for more information on single-page applications.
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab