pages/{pageid}/properties (GET)
Overview
Retrieve the properties associated with a page
- REST Method: GET
- Method Access: public
NOTE: Expert sets a limit of 1,000 properties per page.
Uri Parameters
Name | Type | Description |
pageid | string | either an integer page ID, "home", or "=" followed by a double uri-encoded page path |
Query Parameters
Name | Type | Description |
depth | int? | Between 0 and 2 levels deep in the search are allowed. If depth is 1 or 2, the names argument only can be a single property to be looked up, and no wildcards are allowed |
names | string? | Comma separated list of names of properties to return. The entire value should be URI encoded including the commas. Use '*' at the start or end of a name for wildcard matches. Default: all properties |
contentcutoff | int? | Only show property content shorter than this number of bytes. Default: 2048 |
redirects | int? | If zero, do not follow page redirects. |
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 | READ access is required |
Not Found | 404 | Requested page could not be found |
Message Format
Response is a list of the standard property xml blocks as well as the language element.
<properties count="{int}" href="{uri}"> <property name="{text}" href="{uri}" etag="{text}"> <contents type="{text}" href="{uri}">{text}</contents> <date.modified>{date}</date.modified> <user.modified id="{int}" href="{uri}"> <nick>{text}</nick> <username>{text}</username> </user.modified> <change-description>{text}</change-description> </property> <language>{language}</language> </properties>
Implementation Notes
- This feature shows the page language. An empty language indicates culture invariant.
- READ access to the page is required to see page properties
C# Code Sample: Retrieve All Page Properties
The following code authenticates and retrieves all properties belonging to the page.
Sample Code
Plug p = Plug.New("http://devwiki/@api/deki"); p.At("users", "authenticate") .WithCredentials("sysop", "password").Get(); XDoc props = p.At("pages", "=My%252fTest%252fPage", "properties") .Get().AsDocument()
Sample Response from executing Code
<properties count="1" href="http://devwiki/@api/deki/pages/42/properties"> <property name="myprop" href="http://devwiki/@api/deki/pages/42/properties/myprop/info" etag="4465.r2_ts2009-03-20T23:52:50Z"> <contents type="text/plain" href="http://devwiki/@api/deki/pages/42/properties/myprop">new value for property</contents> <date.modified>2009-03-20T23:52:50Z</date.modified> <user.modified id="1" href="http://devwiki/@api/deki/users/1"> <nick>Sysop</nick> <username>Sysop</username> </user.modified> <change-description>description of change</change-description> </property> </properties>
Implementation notes
Add notes about requirements or config values
C# Code Sample: Retrieve Home Page Language
The following code example retrieves the home page language:
Sample Code
Plug p = Plug.New("http://deki-hayes/@api/deki"); p.At("pages", "home", "properties").Get();
Sample Response from executing Code
Sample response indicating that the home page language is German:
<properties href="http://deki-hayes/@api/deki/pages/29/properties"> <language>de</language> </properties>
Implementation notes
Add notes about requirements or config values
Curl Code Sample: Retrieve Page Properties
The following command retrieves a list of page properties associated with page "foo":
Sample Code
curl -u username:password -i http://mindtouch.address/@api/deki/pages/=foo/properties
Sample Response from executing Code
Example output for a page with 1 property:
Content-Type: application/xml
<properties count="1" href="http://192.168.59.128/@api/deki/pages/567/properties"> <property name="urn:custom.mindtouch.com#test" href="http://192.168.59.128/@api/deki/pages/567/properties/urn%253acustom.mindtouch.com%2523test/info" etag="114.r1_ts2010-01-29T22:16:57Z"> <contents type="text/plain; charset=utf-8" size="4" href="http://192.168.59.128/@api/deki/pages/567/properties/urn%253acustom.mindtouch.com%2523test">test</contents> <date.modified>2010-01-29T22:16:57Z</date.modified> <user.modified id="88" href="http://192.168.59.128/@api/deki/users/88"> <nick>test6</nick> <username>test6</username> <email hidden="true"/> <hash.email>989d7c3b24422e0f2ab2da41e3a91434</hash.email> <uri.gravatar>http://www.gravatar.com/avatar/989d7c3b24422e0f2ab2da41e3a91434</uri.gravatar> </user.modified> </property> <language deprecated="true"/> </properties>
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.
Pages
- To view a list of all pages, follow the instructions here.