Skip to main content

 

MindTouch Success Center

files/{fileid}/revisions (GET) (TCS)

Overview

Retrieve file revision info

  • REST Method: GET
  • Method Access: public

Uri Parameters

Name Type Description
fileid int identifies a file by ID
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 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).
changefilter string? Only show revisions having a user-action listed in this comma delimited list. Valid actions are: CONTENT, NAME, LANGUAGE, META, DELETEFLAG, PARENT (default: filter with CONTENT)

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:

<files count="{int}">
    <file id="{int}" revision="{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}" revision="{int}" /> 
        <contents.preview rel="webview" type="{mimetype}" maxwidth="{int}" maxheight="{int}" href="{uri}" revision="{int}" /> 
        <date.created>{date}</date.created> 
        <user.createdby id="{int}" href="{uri}">
            <nick>{text}</nick> 
            <username>{text}</username> 
            <email>{text}</email> 
       </user.createdby>
  </file>
  ...
</files> 

Implementation Notes

A new file revision is created whenever a file with the same name is uploaded to the same page.  Use GET:files/{fileid} with the revision parameter to retrieve the file from a specified revision.

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 Revision Info

The following code example retrieves revision information about 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();
p.At("files", "456", "revisions").Get();

Sample Response from executing Code

<files count="2">
      <file id="456" revision="1" href="http://help.mindtouch.us/@api/deki/files/456/info?revision=1">
          <filename>myfile.jpg</filename> 
          <description/> 
          <contents type="image/pjpeg" size="53112" width="476" height="480" href="http://help.mindtouch.us/@api/deki/files/456?revision=1" /> 
          <contents.preview rel="thumb" type="image/pjpeg" maxwidth="160" maxheight="160" href="http://help.mindtouch.us/@api/deki/files/456?revision=1&size=thumb" revision="1" /> 
          <contents.preview rel="webview" type="image/pjpeg" maxwidth="550" maxheight="550" href="http://help.mindtouch.us/@api/deki/files/456?revision=1&size=webview" revision="1" /> 
          <date.created>2007-08-25T00:11:01Z</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>
      </file>
      <file id="456" revision="2" href="http://help.mindtouch.us/@api/deki/files/456/info?revision=2">
          <filename>myfile.jpg</filename> 
          <description /> 
          <contents type="image/pjpeg" size="53112" width="476" height="480" href="http://help.mindtouch.us/@api/deki/files/456?revision=2" /> 
          <contents.preview rel="thumb" type="image/pjpeg" maxwidth="160" maxheight="160" href="http://deki-hayes/@api/deki/files/456?revision=2&size=thumb" revision="2" /> 
          <contents.preview rel="webview" type="image/pjpeg" maxwidth="550" maxheight="550" href="http://deki-hayes/@api/deki/files/456?revision=2&size=webview" revision="2" /> 
          <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>
      </file>
</files>

Implementation notes 

Add notes about requirements or config values

Curl Code Sample: Retrieve File Revision Info

The following command retrieves a list and information of a file's (file ID = 1) revisions:

Sample Code

curl -u username:password -i http://mindtouch.address/@api/deki/files/1/revisions

Sample Response from executing Code

A file (fileID = 70) with two revisions.

Content-Type: application/xml

<files count="2" totalcount="10" href="http://192.168.59.128/@api/deki/files/70/revisions?changefilter=content">
  <file id="70" revision="1" href="http://192.168.59.128/@api/deki/files/70/info?revision=1">
    <filename>batman.xml</filename>
    <description/>
    <contents type="text/xml" size="371" href="http://192.168.59.128/@api/deki/files/70/=batman.xml?revision=1"/>
    <date.created>2010-01-19T00:59:18Z</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>
    <user-action type="content, name, parent"/>
    <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>
  <file id="70" revision="10" href="http://192.168.59.128/@api/deki/files/70/info?revision=10">
    <filename>batman.xml</filename>
    <description/>
    <contents type="text/xml" size="371" href="http://192.168.59.128/@api/deki/files/70/=batman.xml?revision=10"/>
    <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>
    <user-action type="content"/>
    <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>
</files>

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.

Files

To view a list of all files, follow the instructions here.
  • Was this article helpful?