GQL endpoint not found in RDE publisher | Community
Skip to main content
Level 2
June 5, 2025
Solved

GQL endpoint not found in RDE publisher

  • June 5, 2025
  • 1 reply
  • 568 views

Hi Team,

I used persistent query endpoint that is working in Adobe CF RDE env with author and publish post ,but when i tried to use graphql enpoint direct access with payload as query in POST it is not working and showing URl not found .I publish all content 2 times.

header given accept and content type 

 

Please suggest

Best answer by SantoshSai

@aem_leadi6 

1. Ensure the endpoint is published

From your author instance:

  • Go to /content/cq:graphql/jazeertest1 in Sites or CRXDE.

  • Right-click the endpoint node (or folder) and publish it.

OR use curl (if permitted in your setup):

curl -u admin:admin -X POST \
  https://<author-env>.adobeaemcloud.com/bin/replicate.json \
  -d path=/content/cq:graphql/jazeertest1/endpoint \
  -d cmd=Activate
2. Check permissions / headers

Make sure you're passing both:

  • Authorization: Bearer <token>

  • x-gw-ims-org-id: <your-org-id>

Ensure the token has proper scopes (like ent_cloudmgr_sdk or ent_aem_cloud).

1 reply

SantoshSai
Community Advisor
Community Advisor
June 5, 2025

Hi @aem_leadi6,

1. Check Dispatcher Configuration

If you're using AEMaaCS RDE or Stage/Prod with a dispatcher:

  • Direct POST to GraphQL endpoints is often blocked unless dispatcher rules explicitly allow it.

Check in dispatcher filters:

/0011 { /type "allow" /method "POST" /url "/content/_cq_graphql/.*" }
  • Make sure that POST requests to GraphQL endpoints are whitelisted.

  • Also ensure GraphQL .graphql.json URLs are not denied by any rule further down.

You can test this by trying the same POST request directly on the publish instance bypassing dispatcher (if accessible). If it works there, your dispatcher is blocking it.

2. Correct Content Path

Make sure you’re POSTing to the GraphQL endpoint at the correct project-specific path. Example:

POST https://<publish-url>/content/_cq_graphql/my-project.graphql.json

Payload:

{
  "query": "{ allArticles { items { title } } }"
}

Headers:

Content-Type: application/json
Accept: application/json

If the my-project name is incorrect or your endpoint isn’t available on publish, it will return a 404.

3. Published everything twice?
  • Confirm not only the content, but also:

    • GraphQL schema/model

    • GraphQL persisted queries (if using)

    • The .graphql.json endpoint nodes

  • Use CRXDE on publish to verify that /content/_cq_graphql/<your-project> exists and is published.

4. Enable GraphQL in AEM Publish

If you're using custom configurations:

  • Make sure GraphQL is enabled in your AEM publish runmode.

  • Check that no GraphQL-related servlet or filter is restricted on publish.

Final Suggestion

If you need to debug further:

  • Try the POST query on author directly — if it works there, the issue is with publish or dispatcher.

  • Use curl to test:

curl -X POST \
  https://<publish-url>/content/_cq_graphql/my-project.graphql.json \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{ "query": "{ allArticles { items { title } } }" }'  

 

Santosh Sai
Level 2
June 6, 2025

Hi @santoshsai 

I am using the endpoint like - adobeaemcloud.com//content/cq:graphql/jazeertest1/endpoint.json and passing same 2 headers.

but unable to check in crx repo of publisher as in RDE cloud repo browser is not visible i guess.

is therer any other way to check in publisher because 404 not url is coming by hitting publisher

SantoshSai
Community Advisor
SantoshSaiCommunity AdvisorAccepted solution
Community Advisor
June 6, 2025

@aem_leadi6 

1. Ensure the endpoint is published

From your author instance:

  • Go to /content/cq:graphql/jazeertest1 in Sites or CRXDE.

  • Right-click the endpoint node (or folder) and publish it.

OR use curl (if permitted in your setup):

curl -u admin:admin -X POST \
  https://<author-env>.adobeaemcloud.com/bin/replicate.json \
  -d path=/content/cq:graphql/jazeertest1/endpoint \
  -d cmd=Activate
2. Check permissions / headers

Make sure you're passing both:

  • Authorization: Bearer <token>

  • x-gw-ims-org-id: <your-org-id>

Ensure the token has proper scopes (like ent_cloudmgr_sdk or ent_aem_cloud).

Santosh Sai