REST API - Add Attachment Request

api/v1/projects/{projectId}/artifacts/{artifactId}/attachments

Description

Adds a single file attachment to the specified artifact.

If the specified artifact is a Document artifact, the file is uploaded as the document artifact file (not as an attachment in the utility panel.

URL Structure

[Blueprint_URI]/api/v1/projects/{projectId}/artifacts/{artifactId}/attachments
  • ProjectId: The ID of the project containing the artifact you want to add the attachment to.
  • ArtifactId: The ID of the artifact you want to add the attachment to.

Supported Methods

Request Body

There are two ways to upload an attachment:

  • To add an attachment as a part of the request body, use the Content-MD5 header and manually calculate a MD5 token for the value.
  • Instead of providing an attachment as a part of the request body, you have the option of adding different sets of data by using MultipartContent MIME. For MultiPartContent, you must specify the Content-Type header as multipart/form-data (that is, Content-Type: multipart/form-data;boundary={token}) and use boundary parameters. For more information on using MultipartContent, see http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html.
    For a reference in C#, see this example of a MultiPartContent request.

HTTP Status Codes

  • 200: OK
  • 201: Successfully Created
  • 206: Partial Content
  • 400: Bad Request
    This error can occur for a variety of reasons:
    • At least one URI or request body parameter is invalid, such as one of the Filter, Traces, Offset or Limit parameters.
    • A required value has not been provided.
    • If you are submitting a POST or PATCH request and have not added the X-HTTP-Method-Override parameter to your request header.
  • 401: Unauthorized
    • The Blueprint token is missing, invalid or expired.
  • 403: Forbidden
    • The applicable permissions are needed. For example, this error can occur when:
      • An Author or Collaborate license is needed for access.
      • Comment permissions are needed on the artifact.
      • Edit permissions are needed on the change summary job.
  • 404: NotFound
    • Item is not found in the project. For example, this error can occur when:
      • Artifact not found.
      • Artifact type not found.
      • Project not found.
      • ALM target not found.
      • Change summary job not found.
      • User does not have edit permissions for this artifact, project or ALM target.
  • 409: Conflict
    • Reason for failure can be found in the response body. Additional information may also be found in the log.
  • 411: Length Required
    • If the Content-Length header is missing in the request.
  • 413: Request Entity Too Large
    • If the provided file size is larger than allowed.
  • 415: Unsupported Media Type
    • If the provided media type is not of MIME Multipart Content "form-data."
  • 416: Request Range Not Satisfiable
    • If offset points to a part of a collection that is not available.
  • 500: Internal Server Error
  • 501: Not Implemented

Examples

XML Example

Request URI

https://production.blueprintcloud.com/api/v1/projects/220870/artifacts/220914/attachments

Request Header (Using Request Body to Add Attachment)

Authorization: BlueprintToken IzRJb4XcD4OOYewT/3/bclvTZ9tjRtwtvNXzlJlN6/j4jzp4TpEEI4j
Content-MD5: 86E8C9EF442FFE19F3F7502B9E11B5E4Content-disposition: attachment;filename="BitmapAttachment.bmp"Content-Type: application/octet-stream
Content-Length: 9270

Response Body

<?xml version="1.0" ?>
<Attachment xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.blueprintsys.com/blueprint/api/v1">
<FileName>BitmapAttachment.png</FileName>
<Id>51097</Id>
<Link>http://localhost:61928/api/v1/projects/2080006/artifacts/2080014/attachments/51097</Link>
</Attachment>
JSON Example

Request URI

https://production.blueprintcloud.com/api/v1/projects/220870/artifacts/220914/attachments

Request Header (Using Request Body to Add Attachment)

Authorization: BlueprintToken IzRJb4XcD4OOYewT/3/bclvTZ9tjRtwtvNXzlJlN6/j4jzp4TpEEI4j
Content-MD5: 86E8C9EF442FFE19F3F7502B9E11B5E4Content-disposition: attachment;filename="BitmapAttachment.bmp"Content-Type: application/octet-stream
Content-Length: 9270

Response Body

{
"Id": 51097,
"FileName": "BitmapAttachment.png",
"Link": "http://today/api/v1/projects/2080006/artifacts/2080014/attachments/51097"
}