PUT /wiki/rest/api/content/{id}/child/attachment

Adds an attachment to a piece of content. If the attachment already exists for the content, then the attachment is updated (i.e. a new version of the attachment is created).

Note, you must set a X-Atlassian-Token: nocheck header on the request for this method, otherwise it will be blocked. This protects against XSRF attacks, which is necessary as this method accepts multipart/form-data.

The media type 'multipart/form-data' is defined in RFC 7578. Most client libraries have classes that make it easier to implement multipart posts, like the MultipartEntityBuilder Java class provided by Apache HTTP Components.

Note, according to RFC 7578, in the case where the form data is text, the charset parameter for the "text/plain" Content-Type may be used to indicate the character encoding used in that part. In the case of this API endpoint, the comment body parameter should be sent with type=text/plain and charset=utf-8 values. This will force the charset to be UTF-8.

Example: This curl command attaches a file ('example.txt') to a piece of content (id='123') with a comment and minorEdits=true. If the 'example.txt' file already exists, it will update it with a new version of the attachment.

curl -D- \
  -u admin:admin \
  -X PUT \
  -H 'X-Atlassian-Token: nocheck' \
  -F 'file=@"example.txt"' \
  -F 'minorEdit="true"' \
  -F 'comment="Example attachment comment"; type=text/plain; charset=utf-8' \
  http://myhost/rest/api/content/123/child/attachment

Permissions required: Permission to update the content.

Servers

Path parameters

Name Type Required Description
id String Yes

The ID of the content to add the attachment to.

Query parameters

Name Type Required Description
status String No

The status of the content that the attachment is being added to. This should always be set to 'current'.

Possible values:

  • "current"
  • "draft"

Default value: "current"

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.