pages/{pageid}/files/{filename}/info (GET)
Overview
Retrieve file attachment information
- REST Method: GET
- Method Access: public
Uri Parameters
| Name | Type | Description |
| filename | string | Double uri-encoded file name. Should be prefixed with "=" if it does not have an extension. |
| pageid | string | either an integer page ID, "home", or "=" followed by a double uri-encoded page path |
| fileid | int | identifies a file by ID |
Query Parameters
| Name | Type | Description |
| authenticate | bool? | Force authentication for request (default: false) |
| redirects | int? | If zero, do not follow page redirects (only applies when {pageid} is present). |
| includeDeleted | bool | When fileid is an integer ID, and this parameter is set to true, we will even return the file info if it was deleted at some point |
| revision | string? | File revision to retrieve. 'head' by default will retrieve latest revision. positive integer will retrieve specific revision |
Return Codes
| Name | Value | Description |
| OK | 200 | The request completed successfully |
| Bad Request | 400 | Invalid input parameter or request body |
| Forbidden | 403 | Read access to the page is required |
| Not Found | 404 | Requested file could not be found |
Message Format
Output:
<file id="{int}" href="{uri}">
<filename>{text}</filename>
<description>{text}</description>
<contents type="{mimetype}" size="{int}" width="{int}" height="{int}" href="{uri}" />
<contents.preview rel="thumb" type="{mimetype}" maxwidth="{int}" maxheight="{int}" href="{uri}" />
<contents.preview rel="webview" type="{mimetype}" maxwidth="{int}" maxheight="{int}" href="{uri}" />
<date.created>{date}</date.created>
<user.createdby id="{int}" href="{uri}">
<nick>{text}</nick>
<username>{text}</username>
<email>{text}</email>
</user.createdby>
<revisions count="{int}" href="{uri}" />
<page.parent id="{int}" href="{uri}">
<title>{text}</title>
<path>{text}</path>
</page.parent>
</file>
Implementation Notes
The contents.preview element only exists if a file preview is available. Preview generation requires the file to be an image and fall within a certain size.
C# Code Sample: Retrieve File Info
The following code example retrieves information about the file called "myfile.jpg" on the home page:
Sample Code
Plug p = Plug.New("http://help.mindtouch.us/@api/deki");
p.At("users", "authenticate").WithCredentials("admin", "password").Get();
p.At("pages", "home", "files", "=myfile%252ejpg", "info").Get();
Sample Response from executing Code
<file id="456" href="http://help.mindtouch.us/@api/deki/files/456/info">
<filename>myfile.jpg</filename>
<description />
<contents type="image/pjpeg" size="53112" width="476" height="480" href="http://help.mindtouch.us/@api/deki/files/456" />
<contents.preview rel="thumb" type="image/pjpeg" maxwidth="160" maxheight="160" href="http://help.mindtouch.us/@api/deki/files/456?size=thumb" />
<contents.preview rel="webview" type="image/pjpeg" maxwidth="550" maxheight="550" href="http://help.mindtouch.us/@api/deki/files/456?size=webview" />
<date.created>2007-08-27T19:59:24Z</date.created>
<user.createdby id="1" href="http://help.mindtouch.us/@api/deki/users/1">
<nick>Admin</nick>
<username>Admin</username>
<email>admin@mindtouch.com</email>
</user.createdby>
<revisions count="2" href="http://help.mindtouch.us/@api/deki/files/456/revisions" />
<page.parent id="29" href="http://help.mindtouch.us/@api/deki/pages/29">
<title>DekiWiki (Hayes)</title>
<path />
</page.parent>
</file>
Implementation notes
Add notes about requirements or config values
Curl Code Sample: Retrieve File Info
The following command retrieves metadata information of file "foo" attached to page "bar":
Sample Code
curl -u username:password -i http://mindtouch.address/@api/deki/pages/bar/files/=foo/info
Sample Response from executing Code
Sample response of metadata for file "batman.xml", attached to page "Bar".
<file id="70" revision="10" href="http://192.168.59.128/@api/deki/files/70/info">
<filename>batman.xml</filename>
<description/>
<contents type="text/xml" size="371" href="http://192.168.59.128/@api/deki/files/70/=batman.xml"/>
<date.created>2010-01-28T00:34:10Z</date.created>
<user.createdby id="1" href="http://192.168.59.128/@api/deki/users/1">
<nick>Admin</nick>
<username>Admin</username>
<email hidden="true"/>
<hash.email>64e1b8d34f425d19e1ee2ea7236d3028</hash.email>
<uri.gravatar>http://www.gravatar.com/avatar/64e1b8d34f425d19e1ee2ea7236d3028</uri.gravatar>
</user.createdby>
<revisions count="2" totalcount="10" href="http://192.168.59.128/@api/deki/files/70/revisions"/>
<page.parent 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>
</page.parent>
</file>
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.
Attached files
- To view a list of all files attached to a page, follow the instructions here.

