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 asmultipart/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: - 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.
- The applicable permissions are needed. For example, this error can occur when:
- 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.
- Item is not found in the project. For example, this error can occur when:
- 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.
- If
- 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"
}