AEM APIs overview
- Topics:
- Developing
CREATED FOR:
- Beginner
- Developer
- Leader
Learn about the different types of APIs in Adobe Experience Manager (AEM) and understand which API to choose for your integration.
To create, read, update, and delete content, assets, and forms in AEM, developers can use a wide range of APIs. These APIs enable developers to create custom applications that interact with AEM.
Let’s explore the different types of APIs in AEM and understand which API to choose for your integration.
Types of AEM APIs
AEM offers following APIs for interacting with its author and publish service types.
For more details, see the Adobe Experience Manager as a Cloud Service APIs page.
Which API to choose
When selecting an API for your integration, consider the following factors:
-
Use Case: Determine whether the AEM API supports your use case. Whenever possible, use OpenAPI-based AEM APIs, as they provide a standardized, modern approach to interacting with AEM. If OpenAPI-based APIs are not available, consider using RESTful APIs or GraphQL APIs and as a last resort, traditional APIs.
-
Compatibility: Ensure that the selected API is compatible with your AEM version. For instance, OpenAPI-based AEM APIs are exclusive to AEM as a Cloud Service and are unavailable in AEM 6.X.
-
AEM Service Type: Author vs. Publish: The choice of API also depends on whether it runs on the Author or Publish service, as their access models are different. The AEM Author service is used for content creation and always requires authentication. The AEM Publish service is used for content delivery and may not require authentication, depending on the use case.
-
Authentication: Verify that the API supports the authentication method you plan to use. For example:
- OpenAPI-based AEM APIs: support OAuth 2.0 authentication, including Client Credentials (Server-to-Server), Authorization Code (Web App), and Proof Key for Code Exchange (Single Page App) grant types. Other AEM APIs do not support OAuth 2.0 authentication.
- RESTful APIs: support JSON Web Token (JWT) authentication, also knows as token-based authentication.
Difference between JSON Web Token (JWT) and OAuth 2.0
Let’s compare JSON Web Token (JWT) and OAuth 2.0, two common authentication mechanisms used in AEM APIs:
OpenAPI-based AEM APIs
Learn more about the OpenAPI-based AEM APIs and the important concepts of accessing Adobe APIs in the OpenAPI-based AEM APIs guide.
Use Cases
Invoke API using Server-to-Server authentication
Learn how to invoke OpenAPI-based AEM APIs from a custom NodeJS application using OAuth Server-to-Server authentication.
Invoke API using Web App authentication
Learn how to invoke OpenAPI-based AEM APIs from a custom web application using OAuth Web App authentication.
Invoke API using OAuth Single Page App
Learn how to invoke OpenAPI-based AEM APIs from a custom Single Page App (SPA) using OAuth 2.0 PKCE flow.
GraphQL APIs - Examples
Learn more about the GraphQL APIs and how to use them in the Getting Started with AEM Headless - GraphQL
Use Cases
Learn how to build a Single Page Application (SPA) that fetches content from AEM using GraphQL APIs.
Learn how to build a mobile app that fetches content from AEM using GraphQL APIs.
Learn how to build a web component that fetches content from AEM using GraphQL APIs.
RESTful APIs - Examples
Learn more about the RESTful APIs, such as Assets HTTP API and JSON Exporter.
Use Cases
Using Content Services for Headless App
Learn how to build a native mobile app that fetches content from AEM using Content Services RESTful APIs.
Token-based Authentication for RESTful APIs
Learn how to invoke RESTful APIs using JSON Web Token (JWT) authentication.