Skip to main content
MindTouch Success Center

pages (GET)

Overview

Builds a site map starting from 'home' page.

  • REST Method: GET
  • Method Access: public

Query Parameters

Name Type Description
startpage bool? For HTML sitemap, indicates if the start page should be included (default: true)
format {xml, html, google}? Result format (default: xml)
authenticate bool? Force authentication for request (default: false)

Return Codes

Name Value Description
OK 200 The request completed successfully
Bad Request 400 Invalid input parameter or request body
Forbidden 403 Browse access to the page is required
Not Found 404 Requested page could not be found

Message Format

Output (XML):

<pages>
    <page id="{int}" href="{uri}">
        <title>{text}</title> 
        <path>{text}</path> 
        <subpages>
            <page>...</page>
            ...
        </subpages>
    </page>
</pages>

Output (HTML):

<ul>
    <li>
        <a rel="internal" href="{uri}" title="{text}" pageid="{int}" class="{text}">{text}</a>
        <ul>
            <li>...</li>
            ...
        </ul>
    </li>
</ul>

Output (sitemap): Refer to http://www.google.com/schemas/sitemap/0.84

Implementation Notes

Redirect and archived pages are not included in the sitemap.

Use GET:pages/{pageid}/tree to retrieve the sitemap from a specified page.

C# Code Sample: Retrieve Sitemap

The following code example retrieves the sitemap in XML format:

Sample Code

Plug p = Plug.New("http://deki-hayes/@api/deki");
p.At("users", "authenticate").WithCredentials("admin", "password").Get();
p.At("pages").With("format", "xml").Get();

Sample response indicating that the home page has one subpage called "Page Title".  This subpage has one subpage called "Subpage 1":

Sample Response from executing Code

<pages>
    <page id="29" href="http://deki-hayes/@api/deki/pages/29">
        <title>DekiWiki (Hayes)</title> 
        <path /> 
        <subpages>
            <page id="31" href="http://deki-hayes/@api/deki/pages/31">
                <title>Page Title</title> 
                <path>Page_Title</path> 
                <subpages>
                    <page id="32" href="http://deki-hayes/@api/deki/pages/32">
                        <title>Subpage 1</title> 
                        <path>Page_Title/Subpage_1</path> 
                        <subpages /> 
                    </page>
                </subpages>
            </page>
        </subpages>
    </page>
</pages>

Implementation notes 

Add notes about requirements or config values

Curl Code Sample: Retrieve Sitemap

The following command retrieves a hierarchical representation of the site's pages:

Sample Code

curl -u username:password -i http://mindtouch.address/@api/deki/pages

Sample Response from executing Code

<pages>
  <page id="21" href="http://192.168.59.128/@api/deki/pages/21?redirects=0"> <!-- homepage -->
    <uri.ui>http://192.168.59.128/</uri.ui>
    <title>Best Wiki Ever</title>
    <path/>
    <namespace>main</namespace>
    <subpages>
      <page id="565" href="http://192.168.59.128/@api/deki/pages/565?redirects=0">
        <uri.ui>http://192.168.59.128/Bar</uri.ui>
        <title>Bar</title>
        <path>Bar</path>
        <namespace>main</namespace>
        <subpages/>
      </page>
      <page id="567" href="http://192.168.59.128/@api/deki/pages/567?redirects=0">
      ...
      </page>
    ...
    </subpages>
    ...
  </page>
</pages>

Implementation notes 

curl flags

-u
Provides external user authentication. Note that if anonymous access is available and authentication is not forced, this flag may be omitted.
-i
Outputs the HTTP response headers. Useful for debugging.
  • Was this article helpful?