Jump to >

User File Attachment Resource

Added in 3.0

A resource representing a file attachment owned by a user.

The file attachment is not tied to any particular review request, and instead is owned by a user for usage in Markdown-formatted text.

The file contents are optional when first creating a file attachment. This is to allow a caller to create the attachment and get the resulting URL for embedding in a text field. The file’s contents can then be added separately (and only once) in a PUT request.

Details

Name user_file_attachment
URI /api/users/{username}/user-file-attachments/{file_attachment_id}/
Token Policy ID user_file_attachment
HTTP Methods
  • DELETE - Deletes a file attachment.
  • GET - Returns information on a user’s file attachment.
  • PUT - Updates the file attachment’s data.
Parent Resource User File Attachment List Resource
Child Resources None
Anonymous Access Yes, if anonymous site access is enabled

Fields

absolute_urlString

The absolute URL of the file, for downloading purposes.

Added in 2.0

captionString The file’s descriptive caption.
filenameString The name of the file.
icon_urlString Deprecated

The URL to a 24x24 icon representing this file. The use of these icons is deprecated and this property will be removed in a future version.

Deprecated in 2.5

idInteger The numeric ID of the file.
mimetypeString

The mimetype for the file.

Added in 2.0

thumbnailString

A thumbnail representing this file.

Added in 1.7

HTTP DELETE

Deletes a file attachment.

This will permanently remove the file attachment owned by the user. This cannot be undone.

The file attachment can only be deleted by its owner or an administrator.

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.

HTTP GET

Returns information on a user’s file attachment.

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.

HTTP PUT

Updates the file attachment’s data.

This allows updating information on the file attachment. It also allows the file to be uploaded if this was not done when the file attachment was created.

The file attachment’s file cannot be updated once it has been uploaded. Attempting to update the file attachment’s file if it has already been uploaded will result in a 111 - Duplicate Item.

The file attachment can only be updated by its owner or by an administrator.

It is expected that the client will send the data as part of a multipart/form-data mimetype. The file’s name and content should be stored in the path field. A typical request may look like:

-- SoMe BoUnDaRy
Content-Disposition: form-data; name=path; filename="foo.zip"

<Content here>
-- SoMe BoUnDaRy --

Request Parameters

captionString The optional caption describing the file.
pathUploaded File The file to upload.

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
105 - Invalid Form DataHTTP 400 - Bad Request One or more fields had errors
111 - Duplicate ItemHTTP 409 - Conflict An entry for this item or its unique key(s) already exists
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.

Examples

application/vnd.reviewboard.org.user-file-attachment+json

$ curl http://reviews.example.com/api/users/admin/user-file-attachments/5/ -H "Accept: application/json"
Vary: Accept, Cookie
ETag: 57a3a6aa4abb67276ac77cc2e0acadec65fb2216
Content-Type: application/vnd.reviewboard.org.user-file-attachment+json
X-Content-Type-Options: nosniff
{
  "stat": "ok", 
  "user_file_attachment": {
    "absolute_url": "http://example.com/users/admin/file-attachments/5ecb375b-4819-4f6e-b8cf-b4d603d3dfd7/", 
    "caption": "Mockup", 
    "filename": "mockup.png", 
    "icon_url": "/static/rb/images/mimetypes/text-x-generic.png", 
    "id": 5, 
    "links": {
      "delete": {
        "href": "http://reviews.example.com/api/users/admin/user-file-attachments/5/", 
        "method": "DELETE"
      }, 
      "self": {
        "href": "http://reviews.example.com/api/users/admin/user-file-attachments/5/", 
        "method": "GET"
      }, 
      "update": {
        "href": "http://reviews.example.com/api/users/admin/user-file-attachments/5/", 
        "method": "PUT"
      }
    }, 
    "mimetype": "image/png", 
    "thumbnail": "<div class=\"file-thumbnail\"> <img src=\"\" srcset=\" 1x,  2x\" alt=\"Mockup\" width=\"300\" /></div>"
  }
}