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 sub-page called "Page Title". This sub-page has one sub-page 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.