"Update 2025-09-09: Added instructions for GET linked Revit files"
Recently, we have received a few questions from our customers more frequently, such as the following. So, here we are!
- "How can we send a zipped Revit design containing linked models from BIM360 to DA?", or
- "When downloading the Revit cloud worksharing model, I got a ZIP package rather than a single RVT file. How can I configure my workitem input?"
Why do I get a ZIP package that contains the host and linked RVT models rather than a single RVT file?
Based on our observations, the root cause is that one or more linked models have not yet been published with their latest (synced) version, while the host file is published to Cloud Model when working with the Revit Cloud Worksharing model, also well-known as the C4R model. Therefore, when downloading the host RVT file, BIM360 Docs/Autodesk Docs will give you a ZIP package rather than the host RVT file itself.
Please check out Why an RVT model is (sometimes) downloaded as ZIP from BIM 360 for detailed explanations.
Update starting from February 7, 2025
We can call GET linked Revit files to get the host model and its unpublished linked RVT models.
Please refer to this blog post, Changes are coming for Revit Cloud Model Downloads from Autodesk/BIM 360 Docs - starting February 15, 2026, for details.
How can I know if the download file is a ZIP package (composite design) or a single RVT file?
1. First, let's figure out how to tell if an item we're looking for is a Cloud Model published from a Revit Cloud Worksharing model. While calling the following APIs, if you can see the file item's either version tip has this value `versions:autodesk.bim360:C4RModel` under `attributes.extension.type` like the below one, it means this file is a Revit Cloud Worksharing model.
- GET projects/:project_id/folders/:folder_id/contents,
- GET projects/:project_id/items/:item_id,
- GET projects/:project_id/items/:item_id/versions, or
- GET projects/:project_id/versions/:version_id,
{
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.b909RzMKR4mhc3O7UBY_8g?version=4",
"attributes": {
"name": "rac_basic_sample_project.rvt",
"displayName": "rac_basic_sample_project.rvt",
"createTime": "2025-06-25T20:52:11.0000000Z",
//...
"lastModifiedTime": "2025-06-25T20:53:39.0000000Z",
//...
"versionNumber": 4,
"mimeType": "application/vnd.autodesk.r360",
"storageSize": 111297725,
"fileType": "rvt",
"extension": {
"type": "versions:autodesk.bim360:C4RModel",
"version": "1.3.3",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.bim360:C4RModel-1.3.3"
},
"data": {
"modelVersion": 3,
"isCompositeDesign": true,
"mimeType": "application/vnd.autodesk.r360",
"compositeParentFile": "rac_basic_sample_project.rvt",
"projectGuid": "733f13b0-502d-4a1e-6624-b7f22f920290",
"publishType": "Hybrid",
"originalItemUrn": "urn:adsk.wipprod:dm.lineage:b909RzMKR4mhc3O7UBY_8g",
"modelType": "multiuser",
"latestEpisodeGuid": "fda2d360-5466-4ev3-b051-0dacbaa509f5",
"modelGuid": "d1e3bc70-30d0-4e42-86a5-9d00da685TAf",
"processState": "PROCESSING_COMPLETE",
"extractionState": "SUCCESS",
"splittingState": "NOT_SPLIT",
"reviewState": "NOT_IN_REVIEW",
"revisionDisplayLabel": "4",
"sourceFileName": "rac_basic_sample_project.rvt",
"conformingStatus": "NONE"
}
}
},
// ...
}
Note. If the above `attributes.data.modelType` value is `singleuer`, it means this model was saved by `Revit's Save As Could Model`. Therefore, this model is not a Revit Cloud Worksharing model.
2. After confirming that the Revit file is a Revit Cloud Worksharing model, we look at the `isCompositeDesign` value under `attributes.data`.
When `isCompositeDesign` is true, it stands that this model is a composite Revit design. When downloading the file from BIM360 Docs/Autodesk Docs, or following the tutorial Download Files from BIM 360 Document Management to download it from Forge OSS service, we will get a ZIP package containing the host and linked RVT files.
On the contrary, if `isCompositeDesign` is false, we will obtain a single RVT file instead. This means all RVt files, including host and links, were published with the last version. See Why an RVT model is (sometimes) downloaded as ZIP from BIM 360 for details.
How to configure workitem for a Revit composite design?
After we confirm that the Revit file is a composite design, we can get the host Revit filename under `attributes.data.compositeParentFile` of the file version tip, like below.
{
// ...
"attributes": {
//...
"createTime": "2025-06-25T20:52:11.0000000Z",
//...
"fileType": "rvt",
"extension": {
"type": "versions:autodesk.bim360:C4RModel",
"version": "1.3.3",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.bim360:C4RModel-1.3.3"
},
"data": {
//...
"isCompositeDesign": true,
"mimeType": "application/vnd.autodesk.r360",
"compositeParentFile": "rac_basic_sample_project.rvt",
//...
"publishType": "Hybrid",
//...
"modelType": "multiuser",
//...
}
}
},
// ...
}
There are two approaches to configure the workitem to work for a Revit composite design, based on the "attributes.createTime" of the host model.
(Case 1) If the file is published BEFORE February 7, 2025, use the legacy workflow.
Afterward, we can configure the workitem by these:
- The value of `arguments.inputFile.zip` is taken from `attributes.data.isCompositeDesign` of the file version tip.
- The value of `arguments.inputFile.pathInZip` is taken from `attributes.data.compositeParentFile` of the file version tip.
For example, I'm sending a DXF export task of my sample project DA4R-DxfExporter using the workitem configuration below.
{
"activityId": "Kangs.DxfExporterActivity+dev",
"arguments": {
"inputFile": {
"verb": "get",
"url": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/9fbf5708-3599-4b62-b44e-b2c142407996.rvt",
"zip": true,
"pathInZip": "rac_basic_sample_project.rvt",
"headers": {
"Authorization": "Bearer {{Bearer}}",
"Content-Type": "application/octet-stream"
}
},
"inputJson": {
"verb": "get",
"url": "data:application/json,{ 'exportAll': 'true' }"
},
"outputDxf": {
"verb": "put",
"url": "https://developer.api.autodesk.com/oss/v2/signedresources/ebfa3a4b-1502-51b5-93f3-0c72eb73ac77?region=US"
}
}
}
(Case 2) If the file is published ON and AFTER February 7, 2025, use the new workflow.
As we can see the attributes.createTime >= "2025-02-07T00:00:00.0000000Z", we can call GET linked Revit files to get the host model and unpublished lined RVT files and pass them onto the workitem.
So, steps 1. Call GET linked Revit files
{
"hostFile": {
"modelName": "rac_basic_sample_project.rvt",
"signedUrl": "https://s3.amazonaws.com/skyscraper.project.data/publish/d1e3bc70-30d0-4e42-86a5-9d00da685TAf/version_4.rvt?AWSAccessKeyId=ASIAXEDRHVD2SEZV2I4G&Expires=1750885193&x-amz-security-token=IQoJb3JpZ2luX2VjEFUaCXVzLWVhc3QtMSJHMEUCICER2DxYinv6yFsbIQaSZKYPMDq%2FT5OhofOdCpL3NlB6AiEAhuf7%2F92Ugh0SYQvC88Wtxlf8flw%2FU3AvEPiYqg%2FuFQIqsgUIThAAGgw0ODk4NjM3NTE5MjUiDPKiDU4GU38r5O%2B5cyqPBdtf%2FJj5qmqDuO0O9vxicOc0w8LRFaUzUGmsxl7C1P%2BwfuhEzMGof1CzSj8gKUCPM30kKorIHzzqVRZcDcXrH%2BAxD5hQIZma5re4HUoFYvOnhGX%2F46JrGwCWZJlWYNatUWR6%2BkT4PqZ6p2A09KSjcBWcO4e%2BnMNapj45%2BF7I9R%2BGcwSFQgBrKFJ%2FhRkk9ou7KNA7s6rsO6BCbxsV3NcnVhsU4dS3iWw6fKuGze%2B8k3QVhnK0MoDSq4FML%2BefVGk%2Bj7ZiVGg7HjG8EHu%2B5VkE6LQHkNB0483v2QFSkLe767gxyjCXcbZ9VamufcqloDK3uyPo6HIe5rU6HH6GsLGWVti7PHOap88p3DIwx2xpNTudHYnJOhMuiUmAb0EQwAGfbArAiY9lZWHG2QXuxBXSngrBcmSK7XPZq2GIcwqd9%2FoWeSIl8Gh8sWzjRq1Uh64eCT4FqknGDI3wOvy70ogV6fz%2Fi%2BZFRX5i4X1iVSvrLkvjqeALY1TaOI0pn0YKRHEWUiJj9jzaP4%2B3vf9Nm%2BIODYKCGaRF9VQVesoeP8GxLPT8lnbXB3xFD3Ob%2Fbt13VrMOYyz%2FXVtHaXvKAmHkqcrDnN9e7FMIQeBflnhY43fUTQHPNvvA1EykSSIMEjwNXObARY37tfZMyEj7ETQkrk6lO2SoGhhCR4tH6GH4uU7ODNLUQEQwGpX12CrfcpZ1%2BBQZZv8H6CO6KQkrc%2F0WvvqfMmh1QDjSjeT6FA%2F2aSqo19kA0wPLG6ETosqbbTJx9%2FzZl1bPte8WMkZgFqUQgSASFUKZlvm%2FwwHUyCWdh5X6omNGUV9oZX3lrlG6myeDgFg153QQzbJ1nJlC4AAoWYKS7em7%2FQJ2gywbCJD8vBl%2BAUw97%2FxwgY6sQGsmVahQ3Z017ScATKKPY9Nb1YFEsnRJ4jBly8PGndqIiVoWs48Rxpeu%2Bi%2F5EVtCpGW6Sm3EYNICi0%2BMxUWoYHCbHM9wCk24%2FM4cfzfapJK%2BtWz16Qfty1f0gadY6Md%2Fc3h%2FIwMOO344mN7MBbIfcUUkBTI4esjYZSu1%2FiPWUokBqZ4UmMW2RSM3dT0eNgXgWMECPhOxTvWFmZFZwLPsNOuP4QVyo9Qq6rtPgdxQ%2FDI2Ic%3D&Signature=Bodyy3Bu9eX77vDhYLruv/wfp/4=",
"versionId": "urn:adsk.wipprod:fs.file:vf.b909RzMKR4mhc3O7UBY_8g?version=4",
"size": 38612992,
"publishStatus": "Published"
},
"linkedFiles": {
"pagination": {
"limit": 600,
"offset": 0,
"totalResults": 1
},
"results": [
{
"modelName": "rst_basic_sample_project.rvt",
"signedUrl": "https://s3.amazonaws.com/skyscraper.project.data/publish/165fda7b-8939-4574-b584-8d84a8c6551d/version_3.rvt?AWSAccessKeyId=ASIAXEDRHVD2SEZV2I4G&Expires=1750885193&x-amz-security-token=IQoJb3JpZ2luX2VjEFUaCXVzLWVhc3QtMSJHMEUCICER2DxYinv6yFsbIQaSZKYPMDq%2FT5OhofOdCpL3NlB6AiEAhuf7%2F92Ugh0SYQvC88Wtxlf8flw%2FU3AvEPiYqg%2FuFQIqsgUIThAAGgw0ODk4NjM3NTE5MjUiDPKiDU4GU38r5O%2B5cyqPBdtf%2FJj5qmqDuO0O9vxicOc0w8LRFaUzUGmsxl7C1P%2BwfuhEzMGof1CzSj8gKUCPM30kKorIHzzqVRZcDcXrH%2BAxD5hQIZma5re4HUoFYvOnhGX%2F46JrGwCWZJlWYNatUWR6%2BkT4PqZ6p2A09KSjcBWcO4e%2BnMNapj45%2BF7I9R%2BGcwSFQgBrKFJ%2FhRkk9ou7KNA7s6rsO6BCbxsV3NcnVhsU4dS3iWw6fKuGze%2B8k3QVhnK0MoDSq4FML%2BefVGk%2Bj7ZiVGg7HjG8EHu%2B5VkE6LQHkNB0483v2QFSkLe767gxyjCXcbZ9VamufcqloDK3uyPo6HIe5rU6HH6GsLGWVti7PHOap88p3DIwx2xpNTudHYnJOhMuiUmAb0EQwAGfbArAiY9lZWHG2QXuxBXSngrBcmSK7XPZq2GIcwqd9%2FoWeSIl8Gh8sWzjRq1Uh64eCT4FqknGDI3wOvy70ogV6fz%2Fi%2BZFRX5i4X1iVSvrLkvjqeALY1TaOI0pn0YKRHEWUiJj9jzaP4%2B3vf9Nm%2BIODYKCGaRF9VQVesoeP8GxLPT8lnbXB3xFD3Ob%2Fbt13VrMOYyz%2FXVtHaXvKAmHkqcrDnN9e7FMIQeBflnhY43fUTQHPNvvA1EykSSIMEjwNXObARY37tfZMyEj7ETQkrk6lO2SoGhhCR4tH6GH4uU7ODNLUQEQwGpX12CrfcpZ1%2BBQZZv8H6CO6KQkrc%2F0WvvqfMmh1QDjSjeT6FA%2F2aSqo19kA0wPLG6ETosqbbTJx9%2FzZl1bPte8WMkZgFqUQgSASFUKZlvm%2FwwHUyCWdh5X6omNGUV9oZX3lrlG6myeDgFg153QQzbJ1nJlC4AAoWYKS7em7%2FQJ2gywbCJD8vBl%2BAUw97%2FxwgY6sQGsmVahQ3Z017ScATKKPY9Nb1YFEsnRJ4jBly8PGndqIiVoWs48Rxpeu%2Bi%2F5EVtCpGW6Sm3EYNICi0%2BMxUWoYHCbHM9wCk24%2FM4cfzfapJK%2BtWz16Qfty1f0gadY6Md%2Fc3h%2FIwMOO344mN7MBbIfcUUkBTI4esjYZSu1%2FiPWUokBqZ4UmMW2RSM3dT0eNgXgWMECPhOxTvWFmZFZwLPsNOuP4QVyo9Qq6rtPgdxQ%2FDI2Ic%3D&Signature=6yCfZG9KSebD1LrnppcFhzkaekY%3D",
"itemId": "urn:adsk.wipprod:dm.lineage:2D1VbM5fRp6QImjI3K90lA",
"size": 38629376,
"publishStatus": "NotPublished"
}
]
}
}
step 2. Configurate the workitem by passing the signed URLs from the steps 1.
{
"activityId": "Kangs.DxfExporterActivity+dev",
"arguments": {
"inputFile": {
"verb": "get",
"url": "https://s3.amazonaws.com/skyscraper.project.data/publish/d1e3bc70-30d0-4e42-86a5-9d00da685TAf/version_4.rvt?AWSAccessKeyId=ASIAXEDRHVD2SEZV2I4G&Expires=1750885193&x-amz-security-token=IQoJb3JpZ2luX2VjEFUaCXVzLWVhc3QtMSJHMEUCICER2DxYinv6yFsbIQaSZKYPMDq%2FT5OhofOdCpL3NlB6AiEAhuf7%2F92Ugh0SYQvC88Wtxlf8flw%2FU3AvEPiYqg%2FuFQIqsgUIThAAGgw0ODk4NjM3NTE5MjUiDPKiDU4GU38r5O%2B5cyqPBdtf%2FJj5qmqDuO0O9vxicOc0w8LRFaUzUGmsxl7C1P%2BwfuhEzMGof1CzSj8gKUCPM30kKorIHzzqVRZcDcXrH%2BAxD5hQIZma5re4HUoFYvOnhGX%2F46JrGwCWZJlWYNatUWR6%2BkT4PqZ6p2A09KSjcBWcO4e%2BnMNapj45%2BF7I9R%2BGcwSFQgBrKFJ%2FhRkk9ou7KNA7s6rsO6BCbxsV3NcnVhsU4dS3iWw6fKuGze%2B8k3QVhnK0MoDSq4FML%2BefVGk%2Bj7ZiVGg7HjG8EHu%2B5VkE6LQHkNB0483v2QFSkLe767gxyjCXcbZ9VamufcqloDK3uyPo6HIe5rU6HH6GsLGWVti7PHOap88p3DIwx2xpNTudHYnJOhMuiUmAb0EQwAGfbArAiY9lZWHG2QXuxBXSngrBcmSK7XPZq2GIcwqd9%2FoWeSIl8Gh8sWzjRq1Uh64eCT4FqknGDI3wOvy70ogV6fz%2Fi%2BZFRX5i4X1iVSvrLkvjqeALY1TaOI0pn0YKRHEWUiJj9jzaP4%2B3vf9Nm%2BIODYKCGaRF9VQVesoeP8GxLPT8lnbXB3xFD3Ob%2Fbt13VrMOYyz%2FXVtHaXvKAmHkqcrDnN9e7FMIQeBflnhY43fUTQHPNvvA1EykSSIMEjwNXObARY37tfZMyEj7ETQkrk6lO2SoGhhCR4tH6GH4uU7ODNLUQEQwGpX12CrfcpZ1%2BBQZZv8H6CO6KQkrc%2F0WvvqfMmh1QDjSjeT6FA%2F2aSqo19kA0wPLG6ETosqbbTJx9%2FzZl1bPte8WMkZgFqUQgSASFUKZlvm%2FwwHUyCWdh5X6omNGUV9oZX3lrlG6myeDgFg153QQzbJ1nJlC4AAoWYKS7em7%2FQJ2gywbCJD8vBl%2BAUw97%2FxwgY6sQGsmVahQ3Z017ScATKKPY9Nb1YFEsnRJ4jBly8PGndqIiVoWs48Rxpeu%2Bi%2F5EVtCpGW6Sm3EYNICi0%2BMxUWoYHCbHM9wCk24%2FM4cfzfapJK%2BtWz16Qfty1f0gadY6Md%2Fc3h%2FIwMOO344mN7MBbIfcUUkBTI4esjYZSu1%2FiPWUokBqZ4UmMW2RSM3dT0eNgXgWMECPhOxTvWFmZFZwLPsNOuP4QVyo9Qq6rtPgdxQ%2FDI2Ic%3D&Signature=Bodyy3Bu9eX77vDhYLruv/wfp/4=",
"references": [
{
"url": "https://s3.amazonaws.com/skyscraper.project.data/publish/165fda7b-8939-4574-b584-8d84a8c6551d/version_3.rvt?AWSAccessKeyId=ASIAXEDRHVD2SEZV2I4G&Expires=1750885193&x-amz-security-token=IQoJb3JpZ2luX2VjEFUaCXVzLWVhc3QtMSJHMEUCICER2DxYinv6yFsbIQaSZKYPMDq%2FT5OhofOdCpL3NlB6AiEAhuf7%2F92Ugh0SYQvC88Wtxlf8flw%2FU3AvEPiYqg%2FuFQIqsgUIThAAGgw0ODk4NjM3NTE5MjUiDPKiDU4GU38r5O%2B5cyqPBdtf%2FJj5qmqDuO0O9vxicOc0w8LRFaUzUGmsxl7C1P%2BwfuhEzMGof1CzSj8gKUCPM30kKorIHzzqVRZcDcXrH%2BAxD5hQIZma5re4HUoFYvOnhGX%2F46JrGwCWZJlWYNatUWR6%2BkT4PqZ6p2A09KSjcBWcO4e%2BnMNapj45%2BF7I9R%2BGcwSFQgBrKFJ%2FhRkk9ou7KNA7s6rsO6BCbxsV3NcnVhsU4dS3iWw6fKuGze%2B8k3QVhnK0MoDSq4FML%2BefVGk%2Bj7ZiVGg7HjG8EHu%2B5VkE6LQHkNB0483v2QFSkLe767gxyjCXcbZ9VamufcqloDK3uyPo6HIe5rU6HH6GsLGWVti7PHOap88p3DIwx2xpNTudHYnJOhMuiUmAb0EQwAGfbArAiY9lZWHG2QXuxBXSngrBcmSK7XPZq2GIcwqd9%2FoWeSIl8Gh8sWzjRq1Uh64eCT4FqknGDI3wOvy70ogV6fz%2Fi%2BZFRX5i4X1iVSvrLkvjqeALY1TaOI0pn0YKRHEWUiJj9jzaP4%2B3vf9Nm%2BIODYKCGaRF9VQVesoeP8GxLPT8lnbXB3xFD3Ob%2Fbt13VrMOYyz%2FXVtHaXvKAmHkqcrDnN9e7FMIQeBflnhY43fUTQHPNvvA1EykSSIMEjwNXObARY37tfZMyEj7ETQkrk6lO2SoGhhCR4tH6GH4uU7ODNLUQEQwGpX12CrfcpZ1%2BBQZZv8H6CO6KQkrc%2F0WvvqfMmh1QDjSjeT6FA%2F2aSqo19kA0wPLG6ETosqbbTJx9%2FzZl1bPte8WMkZgFqUQgSASFUKZlvm%2FwwHUyCWdh5X6omNGUV9oZX3lrlG6myeDgFg153QQzbJ1nJlC4AAoWYKS7em7%2FQJ2gywbCJD8vBl%2BAUw97%2FxwgY6sQGsmVahQ3Z017ScATKKPY9Nb1YFEsnRJ4jBly8PGndqIiVoWs48Rxpeu%2Bi%2F5EVtCpGW6Sm3EYNICi0%2BMxUWoYHCbHM9wCk24%2FM4cfzfapJK%2BtWz16Qfty1f0gadY6Md%2Fc3h%2FIwMOO344mN7MBbIfcUUkBTI4esjYZSu1%2FiPWUokBqZ4UmMW2RSM3dT0eNgXgWMECPhOxTvWFmZFZwLPsNOuP4QVyo9Qq6rtPgdxQ%2FDI2Ic%3D&Signature=6yCfZG9KSebD1LrnppcFhzkaekY%3D"
}
]
},
"inputJson": {
"verb": "get",
"url": "data:application/json,{ 'exportAll': 'true' }"
},
"outputDxf": {
"verb": "put",
"url": "https://developer.api.autodesk.com/oss/v2/signedresources/ebfa3a4b-1502-51b5-93f3-0c72eb73ac77?region=US"
}
}
}
That's all! Hope you enjoy the above and have fun with Revit Automation API!
If you have any questions, please contact APS support.
Related articles
- Changes are coming for Revit Cloud Model Downloads from Autodesk/BIM 360 Docs - starting February 15
- New API to retrieve metadata and signed download URLs of host/linked files for a Revit Cloud Model
- Why a Revit model is sometimes downloaded as ZIP from BIM 360 or ACC?
- Revit Cloud Worksharing - fast extraction of Revit zip files with partials