Access Page Manager API with postman








I have AEM's instance hosted something like this, this is AEM 6.5 version.

I want to create and delete pages on this author instance using AEM's page manager API with any automation tool like JMeter or RestAssured but I have no idea, how to do it.

After spending some time on the internet (hitting in the dark), I am able to at settings.xml in .m2/settings.xml from this post - 

Also, I have below posts

  1. Publish/Unpublish Adobe AEM page from Java AEM Replicator API
  2. Using PageManager API in AEM6/CQ5 page Manager API
  3. page Manager API

But how do I implement them? I don't have any AEM coding experience.

Any reference, tutorial, GitHub project, sample code which can help me in understanding how to API APIs on hosted AEM application?

View Entire Topic








Understanding PageManager API is difficult if you don't have any conceptual knowledge or hands-on experience on AEM, instead of that you can use POSTMAN and CURL commands to create pages.

Use the below command's to create pages, both will work.

curl -u admin:admin -F "jcr:primaryType=cq:Page" -F "jcr:content/jcr:primaryType=cq:PageContent" -F "jcr:content/jcr:title=keysandstrokes" -F "jcr:content/sling:resourceType=geometrixx/components/contentpage" http://localhost:4502/content/geometrixx/en/keysandstrokes



curl -u admin:admin –F cmd="createPage" -F label="" -F parentPath="/content/geometrixx/en/company" -F template="/apps/geometrixx/templates/contentpage" -F title="new page" http://localhost:4502/bin/wcmcommand


Reference links for more curl commands:


I tried both, in first curl command I am getting status 500 error

<title>Error while processing /libs/wcm/core/content/sites/content/demo-content-pages</title>
<h1>Error while processing /libs/wcm/core/content/sites/content/demo-content-pages</h1>
<td><div id="Status">500</div></td>
<td><div id="Message"> Unable to commit changes to session.</div></td>


and for the second curl command, I am getting below error

curl -u jeeva-admin:mypassword –F cmd="createPage" -F label="" -F parentPath="/content/content/demo-content-pages/en/newpages" -F template="/apps/demo/templates/defaultpage" -F title="new page curl"


curl: (6) Could not resolve host: –F

curl: (6) Could not resolve host: cmd=createPage




    <head><title>405 Method POST not supported</title></head>


        <h1>Method POST not supported</h1>

        <p>Cannot serve request to /bin/wcmcommand in</p>


        <h3>Request Progress:</h3>


      0 TIMER_START{Request Processing}

      1 COMMENT timer_end format is {&lt;elapsed microseconds&gt;,&lt;timer name&gt;} &lt;optional message&gt;

      6 LOG Method=POST, PathInfo=null

      7 TIMER_START{handleSecurity}

292179 TIMER_END{292171,handleSecurity} authenticator returns true

292526 TIMER_START{ResourceResolution}

292573 TIMER_END{46,ResourceResolution} URI=/bin/wcmcommand resolves to Resource=ServletResource,, path=/bin/wcmcommand

292579 LOG Resource Path Info: SlingRequestPathInfo: path=&apos;/bin/wcmcommand&apos;, selectorString=&apos;null&apos;, extension=&apos;null&apos;, suffix=&apos;null&apos;

292579 TIMER_START{ServletResolution}

292582 TIMER_START{resolveServlet(/bin/wcmcommand)}

292592 TIMER_END{9,resolveServlet(/bin/wcmcommand)} Using servlet

292595 TIMER_END{15,ServletResolution} URI=/bin/wcmcommand handled by

292597 LOG Applying Requestfilters

292602 LOG Calling filter: com.adobe.granite.resourceresolverhelper.impl.ResourceResolverHelperImpl

292609 LOG Calling filter:

292612 LOG Calling filter: com.adobe.granite.csrf.impl.CSRFFilter

292620 LOG Calling filter:

292624 LOG Calling filter: com.adobe.granite.httpcache.impl.InnerCacheFilter

292628 LOG Calling filter:

292632 LOG Calling filter: com.adobe.cq.history.impl.HistoryRequestFilter

292806 LOG Calling filter:

292814 LOG Calling filter:

293054 LOG Calling filter: com.adobe.cq.wcm.core.components.internal.servlets.CoreFormHandlingServlet

293057 LOG Calling filter: com.adobe.granite.optout.impl.OptOutFilter

293064 LOG Calling filter:

293067 LOG Calling filter:

293070 LOG Calling filter: com.adobe.livecycle.dsc.clientsdk.internal.ResourceResolverHolderFilter

293073 LOG Calling filter:

293076 LOG Calling filter: com.adobe.livecycle.content.appcontext.impl.AppContextFilter

293080 LOG Calling filter: org.demo.core.filters.LoggingFilter

293136 LOG Calling filter: org.demo.core.filters.LoggingFilter

293148 LOG Calling filter: org.demo.core.filters.LoggingFilter

293159 LOG Calling filter: org.demo.core.filters.LoggingFilter

293171 LOG Calling filter:

293174 LOG Calling filter:

293572 LOG Calling filter:

293575 LOG Calling filter: com.adobe.granite.requests.logging.impl.RequestLoggerImpl

293579 LOG Calling filter:

293611 LOG Calling filter:

293614 LOG Calling filter:

293625 LOG Calling filter:

293630 LOG Calling filter:

293637 LOG Applying Componentfilters

293639 LOG Calling filter:

293643 LOG Calling filter:

293647 LOG Calling filter:

293766 LOG Calling filter:

293770 TIMER_START{}

293797 LOG Applying Error filters

293800 LOG Calling filter:

293802 LOG Calling filter:

293806 TIMER_START{handleError:status=405}

294527 TIMER_END{719,handleError:status=405} Using handler /apps/sling/servlet/errorhandler/default.jsp

306519 LOG Found processor for post processing ProcessorConfiguration: {contentTypes=[text/html], order=1, active=true, valid=true, processErrorResponse=true, pipeline=(generator=Config(type=htmlparser, config={}), transformers=(Config(type=linkchecker, config={}), Config(type=versioned-clientlibs, config={}), serializer=Config(type=htmlwriter, config={}))}

306709 TIMER_END{306708,Request Processing} Dumping SlingRequestProgressTracker Entries





        <address>Apache Sling</address>




Can you please help in finding, what wrong I am doing?