29 Aug 2025

Attachment API of ACC Issue

Autodesk Construction Cloud (ACC) API now supports attachment of Issue. Different to References which build relationship of ACC modules(domain) entities, the Attachments are sub-entity with a domain entity. In this context, domain entity refers to ACC Issue.

Three endpoints are added to the set of ACC Issue API family:

  • GET /attachments/:issueId/items: get attachments collection of an issue
  • DELETE /attachments/:issueId/items/:attachmentId: delete one attachment from an issue.
  • POST /attachments:  Attach Attachments to Issue 

The binary file of Issue Attachment is managed by Data Management API. The steps to download and upload are similar to the general file in ACC Docs. The difference is the attachment files locates in the root folder (hidden) of an ACC project (parent of Project Files folder) and does not occupy the volume of file item/version (i.e. they will not be a document in Docs).

To associate the attachment to an issue, you will follow the typical steps:

1. call GET topFolders of the project by Data Management API, and check parent folder id of Project Files folder. It is the root folder of the project.

 {
            "type": "folders",
            "id": "urn:adsk.wipprod:fs.folder:co.XXXXX",
            "attributes": {
                "name": "Project Files",
                "displayName": "Project Files", 
                "extension": {
                    "type": "folders:autodesk.bim360:Folder",  
                    }
                }
            }, 
            "relationships": { 
                "parent": {
                    "data": {
                        "type": "folders",
                        "id": "urn:adsk.wipprod:fs.folder:co.XXXXX"
                    }
}
            }
        }

 

2. create a storage of OSS (known as APS bucket) from this root folder. From the response, you will get bucket key and object key.

3. get S3 signed url by the bucket key and object key.

4. upload the binary file stream to the signed url.

5. complete the uploading.

6. call Attachment API to associate the attachment. There's currently a limit of 100 attachments per issue.

  {
    		"domainEntityId": "26e30180-3d40-439a-bf45-7fc94c698e76",
    		"attachments": [
      		{
       		 "attachmentId": "5f9c6bcf-3688-44b7-a210-6e12dc6fb246",
        		"displayName": "myfile.png",
        		"fileName": "5f9c6bcf-3688-44b7-a210-6e12dc6fb246.png",
        		"attachmentType": "issue-attachment",
        		"storageUrn": "urn:adsk.objects:os.object:wip.dm.pt8ix/5f9c6bcf-3688-44b7-a210-6e12dc6fb246.png"
      		}
    		]
 	 }

In the last step, domainEntityId refers to the Issue Id. The attachmentId is a UUID. You can specify any UUID as long as it is unique within the attachments list of one issue. It is recommended to reuse the object key (without extension name) in the step #1. The filename is the internal name of the binary file, it is also recommended to reuse the object key.

To get attachments, firstly call GET Attachments to get storageUrn of the attachment file and extract bucket key and object key. Next, get S3 signed url of downloading with the bucket and object key by Data Management API. Finally download the file with the url.

A few related materials:

If you are looking for how to work with Reference, please check the other blog. Should you have any questions, please contact at https://aps.autodesk.com/get-help

Related Article