Skip to main content

files/{fileid} (GET) (TCS)


Retrieve file attachment content

  • 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).
includeDeleted bool When fileid is an integer ID, and this parameter is set to true, we'll 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
size {original, thumb, webview, bestfit, custom}? Return a resized image from one of the preset cached sizes. Use 'thumb' or 'webview' to return a smaller scaled image. Use 'bestfit' along with height/width to return one of the known sizes being at least the size given. Default: original
format {jpg, png, bmp, gif}? Convert output to given type. Default is to use original type.
ratio {fixed, var}? Fixed preserves aspect ratio by applying height and width as bounding maximums rather than absolute values. Variable will use the width and height given. Default: fixed
width int? Width of the image
height int? Height of the image

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
Not Implemented 501 Requested operation is not currently supported

Message Format


Implementation Notes

Use of the format, ratio, width/height, and size parameters requires the file to be an image. 

The Content-Disposition, Content-Length, and Content-Type headers provide information about the retrieved file.

Use GET:files to retrieve a list of files across the site or GET:pages/{pageid}/files to retrieve the files on a specified page.

C# Code Sample: Retrieve a File

The following code example retrieves the file with ID 456 using a best fit of 100x100 and saves it in the caller's temporary directory:

Sample Code

Plug p = Plug.New("http://deki-hayes/@api/deki");
p.At("users", "authenticate").WithCredentials("admin", "password").Get();
DreamMessage msg = p.At("files", "456")
                    .With("size", "bestfit")
                    .With("width", 100)
                    .With("height", 100).Get();
using (FileStream fs = System.IO.File.OpenWrite(Path.GetTempPath() + msg.ContentDisposition.FileName)) 
    byte[] fileData = msg.AsBytes();
    fs.Write(fileData, 0, fileData.Length);

Implementation notes 

Add notes about requirements or config values

Curl Code Sample: Retrieve a File

The following command retrieves a file with file ID = 1:

Sample Code

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

Implementation notes 

curl flags

Provides external user authentication. Note that if anonymous access is available and authentication is not forced, this flag may be omitted.
Outputs the HTTP response headers. Useful for debugging.


Note that a file, not an XML document, is returned. So if an image or any non-text file is requested, a bunch of junk will very possibly be returned to the console.


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