files/{fileid}/description (PUT)
Overview
Update attachment description
- REST Method: PUT
- 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. |
| fileid | int | identifies a file by ID |
| pageid | string | either an integer page ID, "home", or "=" followed by a double uri-encoded page title |
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). |
Return Codes
| Name | Value | Description |
| OK | 200 | Request completed successfully |
| Bad Request | 400 | Invalid input parameter or request body |
| Forbidden | 403 | Update access to the page is required |
| Not Found | 404 | Requested file could not be found |
Message Format
Input:
Content-type=text/plain
Output:
<file id="{int}" href="{uri}">
<filename>{text}</filename>
<description>{text}</description>
<contents type="{mimetyp e}" 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
Use GET:files/{fileid}/description to retrieve the file description.
C# Sample: Set File Description
The following code example sets the description of the file with ID 456:
Sample Code
Plug p = Plug.New("http://help.mindtouch.us/@api/deki");
p.At("users", "authenticate").WithCredentials("admin", "password").Get();
DreamMessage msg = DreamMessage.Ok(MimeType.TEXT, "File description text");
p.At("files", "456", "description").Put(msg);
Sample Response from executing Code
<file id="456" href="http://help.mindtouch.us/@api/deki/files/456/info">
<filename>myfile.jpg</filename>
<description>File description text</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>
Curl Sample: Set File Description
The following curl command will set or replace a description of a file according to its fileid (42, in the example). The description string is read out of file "description.txt".
Sample Code
curl -u username:password -T description.txt -i http://192.168.168.110/@api/deki/files/42/description
Implementation notes
curl flags
- -u
- Basic HTTP authentication. Sends a username and password to server so it can verify whether a user is of privilege to perform specific operation.
- -T
- Sends a file using the PUT command.
- -i
- Includes the HTTP response header in the output. Useful for debugging.
Example
An image with image id 9 exists. We want to change its description to something generic, like "image 9". The file generic.txt contains the description we want to set.
generic.txt
Content-Type: text/plain
image 9
Sample Code
curl -u username:password -T generic.txt -i http://192.168.168.110/@api/deki/files/9/description
HTTP Response Headers
HTTP/1.1 200 OK Date: Mon, 11 Jan 2010 20:26:05 GMT Server: Dream-HTTPAPI/1.7.2.17433 X-Deki-Site: id="default" Content-Type: application/xml; charset=utf-8 Content-Length: 2129 Via: 1.1 dekiwiki
HTTP Response Body
Content-Type: application/xml
<?xml version="1.0"?>
<file id="9" href="http://192.168.168.110/@api/deki/files/9/info">
<filename>captain.jpg</filename>
<description>image 9</description>
<contents type="application/octet-stream" size="495835" width="1691" height="2343" href="http://192.168.168.110/@api/deki/files/9/=captain.jpg"/>
<contents.preview rel="thumb" type="image/jpeg" maxwidth="160" maxheight="160" href="http://192.168.168.110/@api/deki/files/9/=captain.jpg?size=thumb"/>
<contents.preview rel="webview" type="image/jpeg" maxwidth="550" maxheight="550" href="http://192.168.168.110/@api/deki/files/9/=captain.jpg?size=webview"/>
<date.created>2010-01-08T23:44:16Z</date.created>
<user.createdby id="1" href="http://192.168.168.110/@api/deki/users/1">
<nick>Admin</nick>
<username>Admin</username>
<email>melder@mindtouch.com</email>
<hash.email>637b79dca5c8ebdc4347bccca42d3487</hash.email>
<uri.gravatar>http://www.gravatar.com/avatar/637b79dca5c8ebdc4347bccca42d3487</uri.gravatar>
</user.createdby>
<revisions count="3" totalcount="3" href="http://192.168.168.110/@api/deki/files/9/revisions"/>
<page.parent id="51" href="http://192.168.168.110/@api/deki/pages/51?redirects=0">
<uri.ui>http://192.168.168.110/Jean_Luc_Picard</uri.ui>
<title>Jean Luc Picard</title>
<path>Jean_Luc_Picard</path>
<namespace>main</namespace>
</page.parent>
<properties count="1" href="http://192.168.168.110/@api/deki/files/9/properties">
<property name="urn:deki.mindtouch.com#description" href="http://192.168.168.110/@api/deki/files/9/properties/urn%253adeki.mindtouch.com%2523description/info" etag="29.r1_ts2010-01-11T20:26:04Z">
<contents type="text/plain; charset=utf-8" size="7" href="http://192.168.168.110/@api/deki/files/9/properties/urn%253adeki.mindtouch.com%2523description">image 5</contents>
<date.modified>2010-01-11T20:26:04Z</date.modified>
<user.modified id="1" href="http://192.168.168.110/@api/deki/users/1">
<nick>Admin</nick>
<username>Admin</username>
<email>melder@mindtouch.com</email>
<hash.email>637b79dca5c8ebdc4347bccca42d3487</hash.email>
<uri.gravatar>http://www.gravatar.com/avatar/637b79dca5c8ebdc4347bccca42d3487</uri.gravatar>
</user.modified>
</property>
</properties>
</file>
Notes
- Running the command on an existing description will overwrite it.

