Adobe Experience Manager Sites & More. I get the same issue GraphQL Query Editor is not visible, and when I ma trying to access it via url aem/graphiql. Adobe Confidential. Contributions are welcome! Read the Contributing Guide for more information. Open the configuration properties via the action bar. In this tutorial, you learn how to integrate the requests for persisted queries into the sample WKND GraphQL React app using the AEM Headless Client for JavaScript. adobe. AEM GraphQL schemas are created as soon as a Content Fragment Model is created, and they can exist on both author and publish environments. Client type. Hybrid and SPA with AEM; SPA Introduction and Walkthrough; SPA WKND Tutorial; Getting Started using React; Implementing a React Component for SPA; Getting. This means you can realize headless delivery of structured content for use in your applications. Also, in your AEM project, add the following configurations to allow your PWA Studio application to access the GraphQL endpoint: Adobe Granite Cross-Origin Resource Sharing Policy (com. The advanced tutorial illustrates in-depth aspects of working with Content Fragment Models, Content Fragments, and the AEM GraphQL persisted queries, including using the GraphQL persisted queries in a. Select the commerce configuration you want to change. Tap Get Local Development Token button. Example applications are a great way to explore the headless capabilities of Adobe Experience Manager (AEM). (SITES-16008)Persisted queries are queries that are stored on the Adobe Experience Manager (AEM) server. Also if you will look into urls they are different as well: The GraphiQL Explorer tool enables developers to create, and test queries against content on the current AEM environment. NOTE. GraphQL is used in two (separate) scenarios in Adobe Experience Manager (AEM): AEM Commerce consumes data from a Commerce platform via GraphQL. CORSPolicyImpl)GraphQL Client. The AEM Headless Client for JavaScript is used to execute the GraphQL persisted queries that power the app. Next, use a. adobe. graphql. The response of a GET request can be cached at the dispatcher and CDN layers, ultimately improving the performance of the requesting client. Developer. An implementation of the standard GraphiQL IDE is available for use with the GraphQL API of Adobe Experience Manager (AEM). Included are the development tooling required to develop, build and compile AEM Projects, as well as local run times allowing developers to quickly validate. Since an image list is a container type fragment that includes reference to other fragments, new offers can be directly created from the editor. Solved: Hello, Do we have any example of exposing GraphQL endpoint with Content Fragments on classic AEM? All the examples I see are on - 425543. a query language for APIs and a runtime for fulfilling. Create Content Fragments based on the. This is the same framework used to translate other AEM content, such as Pages, Experience Fragments, Assets, and Forms. The following configurations are examples. 5 Forms, install the latest. What I wanted to ask is : Is there any way we can override any Model/Servlet that are being used in Graph QL connector and then accordingly could manipulate API response. GraphQL is currently used in two (separate) scenarios in Adobe Experience Manager (AEM) as a Cloud Service: AEM Content Fragments work together with the AEM GraphQL API (a customized implementation, based on standard GraphQL), to deliver structured content for use in your applications. API Reference. The ability to customize a single API query lets you retrieve and deliver the specific content that you. The configured AEM service’s host/domain is then used to construct the AEM GraphQL API URLs and Image URLs. With Adobe Experience Manager (AEM), Content Fragments let you design, create, curate, and publish page-independent content. Depending on your instance, you can directly access the GraphiQL interface included with AEM GraphQL API for submitting and testing queries. GraphiQL is included in all environments of AEM (but will only be accessible/visible when you configure your endpoints). js initializes and exports the AEM Headless Client used to communicate with AEM; src/api/usePersistedQueries. The sample React app has three main parts: The src/api folder contains files used to make GraphQL queries to AEM. I'm facing many issues while using the below. model. From the AEM Start menu, navigate to Tools > Deployment > Packages. 5 SP 10, Could you please check. The advanced tutorial illustrates in-depth aspects of working with Content Fragment Models, Content Fragments, and the AEM GraphQL persisted queries, including using the. Select the AEM as a Cloud Service development environment from the Eligible Deployment Environments select box. While client-side GraphQL queries can also be executed using HTTP POST requests, which cannot be cached, persisted queries can. Check the Adobe Cloud Manager documentation on how to download, setup, and use the Adobe I/O CLI with the Cloud Manager CLI plugin. The sample React app has three main parts: The src/api folder contains files used to make GraphQL queries to AEM. Tap Create to bring up the New Content Fragment dialog and enter the following values: Tap Create. Tap Create and select PageSPA Editor Overview. There are many ways by which we can implement headless CMS via AEM. Create content pages in AEM. GraphQL Model type ModelResult: object . Learn how to enable, execute queries against, and publish and secure GraphQL endpoints. In the basic tutorial multi-step GraphQL tutorial, you used the GraphiQL Explorer to test and refine the GraphQL queries. Learn how to define and use Content Fragments in Adobe Experience Manager (AEM) for use with GraphQL. Adobe Experience Manager (AEM) Sites Search component breaks the user interface. The GraphQL endpoints are publicly accessible, but the content that they return depends on user's access. The AEM Headless quick setup gets you hands-on with AEM Headless using content from the WKND Site sample project, and a React App that consumes the content over AEM Headless GraphQL APIs. GraphQL API for Content Fragments: The new GraphQL API is the standard method to deliver structured content in JSON format. You can find it under Tools → General). . 13 All our GraphQL related query works fine in AUTHOR where as in Publish, we are getting this error: " - 556000. adobe. If you expect a list of results: Advanced Concepts of AEM Headless. Prerequisites On the Source Code tab. @adobe/aem-spa-page-model-manager; @adobe/aem-spa-component-mapping; Implementations ReactAuthorization. 0. The configured AEM service’s host/domain is then used to construct the AEM GraphQL API URLs and Image URLs. Journey Optimizer. We have a business requirement where we need to secure AEM graphql endpoint with OKTA. Hi @AEMWizard ,. Per official docs GraphQL API Endpoint for CF is included in 6. Clone and run the sample client application. To ensure a seamless Magento integration with AEM, Adobe recommends the use of Commerce Integration Framework (CIF). The React App in this repository is used as part of the tutorial. Anatomy of the React app. impl. An end-to-end tutorial illustrating how to build-out and expose content using AEM and consumed by a native mobile app, in a headless CMS scenario. I'm currently using AEM 6. all-2. Developer. Navigate to Tools, General, then select GraphQL. AEM provides a Translation Integration Framework for headless content, allowing Content Fragments and supporting assets to be easily translated for use across locales. Check GraphQL Persistent Queries; Create Content Fragment Models. Please ensure your client application is able to handle null values that are returned by AEM when using CONTAINS_NOT. Community Advisor 30-04-2023 05:03 PDT. src/api/aemHeadlessClient. Ensure you adjust them to align to the requirements of your project. 12 which is fixed in the latest version but instead of StringFilterExpression, we need to use StringFilter. They let you prepare content ready for use in multiple locations/over multiple channels, ideal for headless delivery. Tap Home and select Edit from the top action bar. After you secure your environment of AEM Sites, you must install the ALM reference site package. The ImageRef type has four URL options for content references: _path is the referenced path in AEM, and does not include an AEM origin (host name) _dynamicUrl is the full URL to the preferred, web-optimized image asset. View. The Create new GraphQL Endpoint dialog will open. The AEM Headless Client for Java is used to execute the GraphQL queries and map data to Java objects to power the app. I am working on an AEM-Java project and facing an issue with graphql-java dependency where I am trying to add it on a maven project having a BND plugin. Hi Team, Could anyone help me to provide AEM Graphql backend APIs. This Next. But the. This server-to-server application demonstrates how to query content using AEM’s GraphQL APIs using persisted queries and print it on terminal. Anatomy of the React app. 0. The Single-line text field is another data type of Content. Hello People, Is there a way to apply two _logOp in single GraphQL query? we have a query, where we want to filter result in a folder AND it should match the variable value between two CF model fields, so It should be OR operation. A “Hello World” Text component displays, as this was automatically added when generating the project from the AEM Project archetype. Additionally, make sure that the "Preview Mode" is set to "Standard". This iOS application demonstrates how to query content using AEM’s GraphQL APIs using persisted queries. To connect AEM with a commerce solution by way of Adobe I/O CLI, follow these steps: Get the Adobe I/O CLI with the Cloud Manager plugin. JcrUtils class. granite. AEM Content Fragments work together with the AEM GraphQL API (a customized implementation, based on standard GraphQL), to deliver structured content. GraphQL will be released for SP 6. 2. After we download the " GraphQL Sample Configuration" file, we need to unpack it and inside of it run : It will create a "target" folder inside the "all" folder. Hi Team, Could anyone help me to provide AEM Graphql backend APIs. Documentation. Learn about the various data types used to build out the Content Fragment Model. To get the data stored in CFs, I have a GET request in my JS for the graphql persisted query. To address this problem I have implemented a custom solution. Learn how to execute GraphQL queries against endpoints. 6. Anatomy of the React app. Replace the value of the url in com. Objectives Learn to use the GraphiQL tool to construct a query using GraphQL syntax. © 2022 Adobe. @adobe/aem-react-editable-components v2: provides an API for building custom SPA components and provides common-use implementations such as the AEMPage React component. An end-to-end tutorial illustrating how to build-out and expose content using AEM Headless. To address this problem I have implemented a custom solution. 5. Content Fragments in AEM provide structured content management. The advanced tutorial illustrates in-depth aspects of working with Content Fragment Models, Content Fragments, and the AEM GraphQL persisted queries, including using the. Locate the Layout Container editable area right above the Itinerary. 5 the GraphiQL IDE tool must be manually installed. Anatomy of the React app. The configured AEM service’s host/domain is then used to construct the AEM GraphQL API URLs and Image URLs. An implementation of the standard GraphiQL IDE is available for use with the GraphQL API of Adobe Experience Manager (AEM) as a Cloud Service. This class provides methods to call AEM GraphQL APIs. 5. Example applications are a great way to explore the headless capabilities of Adobe Experience Manager (AEM). In this video you will: Learn how to enable GraphQL Persisted Queries. This allows developers to place SPA Editor-compatible components into the SPA views, and allow users to author the components’ content in AEM SPA Editor. Previous page. You can check Release Notes here in Known issues section [SITES-15622: GraphQL - Issue with per. For server-to-server authentication, you can use Service Credentials of AEM (Access tokens). AEM Content Fragments work together with the AEM GraphQL API (a customized implementation, based on standard GraphQL), to deliver structured. Register now! SOLVED AEM Graphql Java. GraphQL is currently used in two (separate) scenarios in Adobe Experience Manager (AEM) as a Cloud Service: AEM Commerce consumes data from a Commerce platform via GraphQL . Getting Started with AEM Headless - GraphQL. Adobe Experience Cloud classes offered virtually or at an Adobe location with a live instructor. Navigate to Select the Cloud Manager Program that contains the AEM as a Cloud Service environment to use for this quick setup; Create a Git repository for the WKND Site project Select Repositories in the top navigation; Select Add Repository in the top action bar; Name the new Git repository: aem-headless-quick-setup. Before calling any method initialize the instance with GraphQL endpoint, GraphQL serviceURL and auth if needed Typedefs Model: object . GraphiQL is included in all environments of AEM (but will only be accessible/visible when you configure your endpoints). The GraphQL API in AEM allows you to expose Content Fragment data to downstream applications. $ npm i @adobe/aem-headless-client-js This code example shows how to use the React useEffect(…) hook to execute an asynchronous call to AEM GraphQL. AEM’s GraphQL queries can be written to provide URLs to images based on where the image is referenced from. This iOS application demonstrates how to query content using. GraphQL Query optimization Tools > General > GraphQL Query Editor is available only in AEM as a Cloud Service, this is a bit different editor comparing to the one that is provided as part of graphiql-0. While client-side GraphQL queries can also be executed using HTTP POST requests, which cannot be cached, persisted. Maven POM Dependency issues #3210. Don't miss out!AEM Headless is a CMS solution from Experience Manager that allows structured content (Content Fragments) in AEM to be consumed by any app over HTTP using GraphQL. The endpoint is the path used to access GraphQL for AEM. Available for use by all sites. The configuration file must be named like: com. Uninstall the CIF Connector package and replace with the AEM Commerce Add-On package will be the only migration step for most of the projects. Ensure that you have installed the Experience Manager service pack. The configured AEM service’s host/domain is then used to construct the AEM GraphQL API URLs and Image URLs. Tap the Local token tab. js app. Using the GraphiQL IDE. supports headless CMS scenarios where external client applications render experiences using content managed in AEM. Review high-level concepts about the Adobe Commerce and Magento Open Source GraphQL API. The name of the method is getRepository. Developer. AEM devs, join us on Nov 6 (EMEA, LATAM, NA) & Nov 15 (APAC) for Adobe Developers Live. Follow the AEM Content Fragments documentation to setup a GraphQL endpoint for your AEM project. Using a REST API introduce challenges: An end-to-end tutorial illustrating how to build-out and expose content using AEM's GraphQL APIs and consumed by an external app, in a headless CMS scenario. This endpoint can use all Content Fragment Models from all Sites configurations (defined in the Configuration Browser ). X) the GraphiQL Explorer (aka GraphiQL IDE) tool needs to be manually installed, follow instruction from here. 5 and trying to implement GraphQL and Persisted Query API to retrieve content fragment data. The AEM Headless Client for JavaScript is used to execute the GraphQL persisted queries that. How can we - 633293. all-2. Prerequisites. 13 of the uber jar. Schemas on publish are the most critical as they provide the foundation for live delivery of Content Fragment. The following are examples of how AEM GraphQL API requests can have the AEM host value made configurable for various headless app frameworks. To determine the correct approach for managing build dependent configurations, reference the AEM Headless app’s framework (for example, React, iOS, Android™, and so on) documentation, as the approach varies by framework. Manage GraphQL endpoints in AEM. 0. servlet. 65. Since we get GrapghQL connector installed in AEM for Content fragment -Headless approach. Adobe I/O Runtime-Driven Communication Flow The previous section describes the standard and recommended implementation of server-side rendering regarding SPAs in AEM, where AEM performs the bootstrapping and serving. model. Once we have the Content Fragment data, we’ll integrate it into your React app. Authenticate the Adobe I/O CLI with the AEM as a Cloud. (SITES-16008) AEM Sites development; GraphQL; SPA Editor (React) AEM Sites and Adobe Target; Token-based authentication; Expert Resources. Ensure you adjust them to align to the requirements of your project. Quick links. Next, we’ll use the AEM Headless SDK to retrieve Content Fragment data from AEM’s GraphQL APIs. Clone the adobe/aem-guides-wknd-graphql repository:AEM GraphQL nested AND and OR expression. Can someone help me understand how can I fetch the same? GraphQL is used in two (separate) scenarios in Adobe Experience Manager (AEM): AEM Commerce consumes data from a Commerce platform via GraphQL . Approach should be the same. js application run from the command line to update asset metadata on AEM as a Cloud Service using Assets HTTP API. X. View the source code on GitHub. aem rde reset Reset the RDE aem rde restart Restart the author and publish of an RDE aem. This tutorial explores how AEM’s GraphQL APIs and headless capabilities can be used to power the experiences surfaced in an external app. The GraphiQL tool enables developers to create and test queries against content on the current AEM environment. Adobe Experience Manager as a Cloud Service’s Cross-Origin Resource Sharing (CORS) facilitates non-AEM web properties to make browser-based client-side calls to AEM’s GraphQL APIs, and other AEM Headless resources. The multi-line text field is a data type of Content Fragments that enables authors to create rich text content. An end-to-end tutorial illustrating how to build-out and expose content using AEM’s GraphQL APIs and consumed by an external app, in a headless CMS scenario. js initializes and exports the AEM Headless Client used to communicate with AEM; src/api/usePersistedQueries. Learn how to deploy an AEM headless Content and Commerce project with PWA Studio. SlingSchemaServlet. Install the @adobe/aem-headless-client-js by running the npm install command from the root of your React project. Adobe Experience Manager (AEM) Sites Search component breaks the user interface. json (AEM Content Services) * * @param {*} path the path. This end-to-end tutorial continues the basic tutorial that covered the fundamentals of Adobe Experience Manager (AEM) Headless and GraphQL. An end-to-end tutorial illustrating how to build-out and expose content using AEM's GraphQL APIs and consumed by an. Learn. 5 Serve pack 13. References to other content, such as images or other Content Fragments can be dynamically inserted in-line within the flow of the text. Solved: According to pretty much all graphql documentation (read: first 3 pages of google search) I should be able to use syntax like: { - 402250The CORS configuration must specify a trusted website origin alloworigin or alloworiginregexp for which access must be granted. AEM as Cloud Service is shipped with a built-in CDN. To share with the community, we talked to the AEM support team and found that it was an issue with 6. SOLVED AEM 6. From the AEM Start screen, navigate to Tools > General > GraphQL Query Editor. Real-Time Customer Data Platform. Prince_Shivhare. SPA Editor learnings. Example applications are a great way to explore the headless capabilities of Adobe Experience Manager (AEM). See: Persisted GraphQL queries. Adobe Experience Manager as a Cloud Service uses AEM Publish Dispatcher filters to ensure only requests that should reach AEM do reach AEM. With CIF, AEM integrates seamlessly with Adobe Commerce, making it the easiest solution for creating. The AEM Commerce Add-On for AEM 6. The following diagram illustrates the overall architecture for AEM Content Fragments. The GraphQL API of AEM provide a powerful query language to expose data of Content Fragments to downstream applications. Headless implementation forgoes page and component. Create Content Fragments based on the. Example applications are a great way to explore the headless capabilities of Adobe Experience Manager (AEM). This iOS application demonstrates how to query content using AEM's GraphQL APIs using persisted queries. AEM Headless as a Cloud Service. Create your first React Single Page Application (SPA) that is editable in Adobe Experience Manager AEM with the WKND SPA. Adobe Experience Manager (AEM) is now available as a Cloud Service. Hence, AEM uses GraphQL to exchange commerce data with Adobe Commerce and with any commerce engine via I/O Runtime. I wanted to know if its possible to perform a full text search in AEM GraphQL API within content fragments? For example I have a content fragment model which have 3 fields: 1. AEM Champions. In the content fragment model editor, click on the "Policies" tab. Previous page. 4. Clients can send an HTTP GET request with the query name to execute it. Client type. The benefit of this approach is cacheability. Reply. This Android application demonstrates how to query content using the GraphQL APIs of AEM. Adobe Document Cloud Partners integrate with Document Cloud solutions so you can streamline document workflows and speed business with e signatures inside your. It also allows AEM Authors to use Product and Category Pickers and the Product Console to browse through product and. REST APIs offer performant endpoints with well-structured access to content. Then embed the aem-guides-wknd-shared. AEM provides two approaches for optimizing GraphQL queries: Hybrid filtering. Understand how to publish GraphQL endpoints. To facilitate the interoperability of the libraries, Adobe advise the framework-specific module to bundle the following libraries. This eliminates the. You should not update default filter rules you must change your won custom file with rule. iamnjain. ; The Content Fragment is an instance of a Content Fragment Model that represents a logical. At Adobe, we are currently developing an integration layer between AEM ( Adobe Experience Manager) and Magento, which enables a seamless integration of e-commerce functionalities into our content management system. Using this path you (or your app) can: receive the responses (to your GraphQL queries). It is worth noting that the AEM GraphQL API should not be confused with GraphQL itself. 0. Single page applications (SPAs) can offer compelling experiences for website users. A “Hello World” Text component displays, as this was automatically added when generating the project from. xml then reinstall bundle and bundle still work fine. AEM serves the HTML returned by Adobe I/O Runtime via the HTL template of the backend page component. For an end-to-end example of building your own single-page application that is editable with AEM starting with project setup through application routing, see the WKND SPA Tutorials: Getting Started with the AEM SPA Editor and Angular. Adobe Experience Manager as a Cloud Service’s Cross-Origin Resource Sharing (CORS) facilitates non-AEM web properties to make browser-based client-side calls to AEM’s GraphQL APIs, and other AEM Headless resources. X. Welcome to a multi-part tutorial designed for developers new to the SPA Editor feature in Adobe Experience Manager (AEM). Level 5. js implements custom React hooks return data from AEM. The endpoint is the path used to access GraphQL for AEM. 10. You signed in with another tab or window. Questions. adobe. apps and parent pom files. Level 3. Also, review How to execute a Persisted query, Using query variables, and Encoding the query URL for use by an app to learn persisted query execution by client applications. GraphQL will be released for SP 6. Navigate to the Software Distribution Portal > AEM as a Cloud Service. The CIF extension allows AEM to directly access the commerce instance consisting of all the data via GraphQL APIs. AEM as a Cloud Service and AEM 6. You can check Release Notes here in Known issues section [SITES-15622: GraphQL - Issue with persisted queries with. Tap on the Bali Surf Camp card in the SPA to navigate to its route. AEM Headless as a Cloud Service. Read real-world use cases of Experience Cloud products written by your peersAdobe Experience Manager (AEM) Content Fragments allow you to design, create, curate and publish page-independent content. The GraphiQL tool also enables users to persist or save queries to be used by client applications in a production setting. These remote queries may require authenticated API access to secure headless content. js with a fixed, but editable Title component. The endpoint is the path used to access GraphQL for AEM. json (AEM Content Services) * * @param {*} path the path. Example applications are a great way to explore the headless capabilities of Adobe Experience Manager (AEM). Select Create. apache. Image. (Not on AEM as a cloud service) In our case, AEM will be the resource owner, 3rd party application will be client and OKTA will be the authorization. Clone the adobe/aem-guides-wknd-graphql repository:Documentation AEM as a Cloud Service User Guide Learning to use GraphQL with AEM - Sample Content and Queries Learning to use GraphQL with AEM - Sample Content and Queries Learn to use GraphQL with AEM so you can serve content headlessly by exploring sample content and queries. You switched accounts on another tab or window. * - Starts with /content (AEM content) * - Starts with /graphql (AEM graphQL endpoint) * - Ends with . Tap Create new technical account button. The benefit of this approach is cacheability. Advanced Modeling for GraphQL Learn how to create relationships between Content Fragment Models in Adobe Experience Manager (AEM) and how to leverage these. Created for: Beginner. I would appreciate any insights or suggestions to resolve this problem. The AEM Headless quick setup gets you hands-on with AEM Headless using content from the WKND Site sample project, and a React App that consumes the content over AEM Headless GraphQL APIs. Content Fragments in Adobe Experience Manager (AEM) provide a structured approach to managing content. Before jumping into AEM code, it is useful to explore the Adobe Commerce GraphQL using a GraphQL IDE. Data Type description aem 6. Tap Home and select Edit from the top action bar. content artifact in the other WKND project's all/pom. Boolean parameters in Persisted Queries is working correctly in AEM 6. 8. GraphqlClientImpl-default. Example applications are a great way to explore the headless capabilities of Adobe Experience Manager (AEM). With Content Fragments and the GraphQL API you can use Adobe Experience Manager (AEM) as a Cloud Service as a Headless Content Management System (CMS). Client applications request persisted queries with GET requests for fast edge-enabled execution. Learn how to create, update, and execute GraphQL queries. However, they can become too rigid, unable to support rapidly evolving requirements with a fixed set of data. Learn how AEM can go beyond a pure headless use case, with options for in-context authoring and experience management. A simple React app is used to query and display Team and Person content exposed by AEM’s GraphQL APIs. Unfortunately, I am uncertain if this behavior is intentional or not. Persisted queries are GraphQL queries that are created and stored on the Adobe Experience Manager (AEM) server. This Next. Clients can send an HTTP GET request with the query name to execute it. Hello, Adobe community, I am encountering an issue with the icons on my website related to deployments with a CDN (Content Delivery Network) and client-library versioning. This method can then be consumed by your own applications. The AEM GraphQL API was not fully developed and some features, such as Mutations, Subscriptions, and Paging/Sorting, were still in progress at the time. An end-to-end tutorial illustrating how to build-out and expose content using AEM Headless. Locate the Layout Container editable area beneath the Title. The GraphQL API in AEM is primarily designed to deliver AEM Content Fragment’s to downstream applications as part of a headless deployment. Within AEM, the delivery is achieved using the selector model and . Hence, AEM uses GraphQL to exchange commerce data with Adobe Commerce and with any commerce engine via I/O Runtime. Yes, you can safeguard your graphQL queries by implementing the following: Rate Limiting: You can use rate limiting to limit the number of GraphQL query requests that can be made to your AEM instance within a certain timeframe. The basic operation of queries with GraphQL for AEM adhere to the standard GraphQL specification. js application is as. AEM Headless Client for Node. ; If you use letters in Experience Manager 6. To determine the correct approach for managing build dependent configurations, reference the AEM Headless app’s framework (for example, React, iOS, Android™, and so on) documentation, as the approach varies by framework. This AEM page is mapped as the root of the SPA, so this is where we begin building out the AEM page structure for other SPA routes. Level 2. To determine the correct approach for managing. Select Edit from the mode-selector in the top right of the Page Editor. cors. js initializes and exports the AEM Headless Client used to communicate with AEM; src/api/usePersistedQueries. 0 and persists in the latest release. A modern content delivery API is key for efficiency and performance of Javascript-based frontend applications.