Expand my Community achievements bar.

Introducing Adobe LLM Optimizer: Own your brand’s presence in AI-Powered search and discovery

GraphQL: QueryEndpointProvider und QueryEndpoint

Avatar

Level 3

I want to implement QueryEndpointProvider from the com.adobe.aem.graphql.api package.
Unfortunately, this com.adobe.aem.graphql.api package is not available, not even in the uber-jar.
Why?

2 Replies

Avatar

Level 9

The com.adobe.aem.graphql.api package and its QueryEndpointProvider interface are not part of AEM's public APIs and are unavailable in the UberJar or public SDKs. 

I don't know what you're trying to achieve, but please take a look at this post: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/cf-graphql-issues/m-p/6063... 

Avatar

Community Advisor

Hi @olegd52630483,

What @giuseppebag is right!

  1. The com.adobe.aem.graphql.api package is part of AEM as a Cloud Service (AEMaaCS) internal APIs. Adobe does not publicly expose all GraphQL-related APIs, especially low-level ones like QueryEndpointProvider, in the Uber JAR.
  2. These GraphQL APIs are designed for AEMaaCS only, where Adobe manages the runtime. Therefore:
  • They are not part of public APIs for on-premise or AMS customers.

  • They are not included in Uber-JAR even for SDK-based local development.

Only selected APIs are exported and marked as public/stable for use in custom code. Many internal services and interfaces, especially those involving GraphQL endpoints and indexing, are:

  • OSGi-only internal services

  • Not meant for direct consumption

  • Meant to be used via GraphQL schemas/models/components, not Java code


If You're on AEMaaCS and need GraphQL:
  1. Use GraphQL APIs through HTTP endpoints exposed by AEM:

    • /content/_cq_graphql/endpoint.graphql.json

    • Use persisted queries or POST queries to that endpoint.

  2. Use Model-based GraphQL via Sling Models and @GraphQLField annotations (available in core.wcm.components.models).

  3. For advanced use, write a custom GraphQL servlet rather than trying to implement QueryEndpointProvider.

Hope that helps!


Santosh Sai

AEM BlogsLinkedIn