AEM APIs overview aem-apis-overview

Learn about the different types of APIs in Adobe Experience Manager (AEM) as a Cloud Service and get an overview of OpenAPI Specification (OAS) based AEM APIs, commonly known as OpenAPI-based AEM APIs.

AEM as a Cloud Service provides a wide range of APIs for creating, reading, updating, and deleting content, assets, and forms. These APIs enable developers to create custom applications that interact with AEM.

Let’s explore the different types of APIs in AEM and understand the key concepts of accessing Adobe APIs.

Types of AEM APIs types-of-aem-apis

AEM offers both legacy and modern APIs for interacting with its author and publish service types.

  • Legacy APIs: Introduced in earlier AEM versions, legacy APIs are still supported for backward compatibility.

  • Modern APIs: Based on the REST, OpenAPI Specification, these APIs follow current API design best practices and are recommended for new integrations.

AEM API Type
Specifications
Availability
Use Case
Example
Traditional (Non-RESTful) APIs
Sling Servlets
AEM 6.X, AEM as a Cloud Service
Legacy integrations, backward compatibility
Query Builder API and others
RESTful APIs
HTTP, JSON
AEM 6.X, AEM as a Cloud Service
CRUD operations, modern applications
Assets HTTP API, Workflow REST API, JSON Exporter for Content Services and others
GraphQL APIs
GraphQL
AEM 6.X, AEM as a Cloud Service
Headless CMS, SPAs, mobile apps
GraphQL API
OpenAPI-based AEM APIs
REST, OpenAPI
AEM as a Cloud Service only
API-first development, modern applications
Assets Author API, Folders API, AEM Sites API, Forms Acrobat Services and others
IMPORTANT
The OpenAPI-based AEM APIs are only available in AEM as a Cloud Service and are not compatible with AEM 6.X.

For more details on AEM APIs, see the Adobe Experience Manager as a Cloud Service APIs.

Let’s have a closer look at the OpenAPI-based AEM APIs and the important concepts of accessing Adobe APIs.

OpenAPI-based AEM APIs openapi-based-aem-apis

AVAILABILITY
OpenAPI-based AEM APIs are available as part of an early access program. If you are interested in accessing them, we encourage you to email aem-apis@adobe.com with a description of your use case.

The OpenAPI Specification (formerly known as Swagger) is a widely used standard for defining RESTful APIs. AEM as a Cloud Service provides several OpenAPI Specification based APIs (or simply OpenAPI-based AEM APIs), making it easier to create custom applications that interact with AEM’s author or publish service types. Below are some examples:

Sites

  • Sites API: APIs for working with Content Fragments.

Assets

  • Folders API: APIs for working with folders such as create, list and delete folders.

  • Assets Author API: APIs for working with assets and its metadata.

Forms

In future releases, more OpenAPI-based AEM APIs will be added to support additional use cases.

Authentication support authentication-support

The OpenAPI-based AEM APIs supports the following authentication methods:

  • OAuth Server-to-Server Credential: Ideal for backend services needing API access without user interaction. It uses the client_credentials grant type, enabling secure access management at the server level. For more information, see OAuth Server-to-Server credential.

  • OAuth Web App credential: Suitable for web applications with frontend and backend components accessing AEM APIs on behalf of users. It uses the authorization_code grant type, where the backend server securely manages secrets and tokens. For more information, see OAuth Web App credential.

  • OAuth Single Page App credential: Designed for SPAs running in the browser, which needs to access APIs on behalf of a user without a backend server. It uses the authorization_code grant type and relies on client-side security mechanisms using PKCE (Proof Key for Code Exchange) to secure the authorization code flow. For more information, see OAuth Single Page App credential.

Before accessing Adobe APIs, it’s essential to understand these key concepts:

  • Adobe Developer Console: The developer hub for accessing Adobe APIs, SDKs, real-time events, serverless functions, and more. Note that it is different from the AEM Developer Console, which is used for debugging AEM applications.

  • Adobe Developer Console Project: Central place for managing API integrations, events, and runtime functions. Here, you configure APIs, set authentication, and generate required credentials.

  • Product Profiles: Product Profiles provide a permission preset that allows you to control user or application access to Adobe products such as AEM, Adobe Target, Adobe Analytics, and others. Every Adobe product has predefined product profiles associated with it.

  • Services: Services define the actual permissions and are associated with the Product Profile. To reduce or increase the permissions preset, you can deselect or select the services associated with the Product Profile. Thus, allowing you to control the level of access to the product and its APIs. In AEM as a Cloud Service, services represent user groups with predefined Access Control Lists (ACLs) for repository nodes, allowing granular permission management.

Next steps next-steps

With an understanding of the different AEM API types, including
OpenAPI-based AEM APIs, and the key concepts of accessing Adobe APIs, you are now ready to start building custom applications that interact with AEM.

Let’s get started with the How to invoke OpenAPI-based AEM APIs tutorial.

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69