26 Mar 2025
ACC Cost Management: new APIs to manage Sub Cost Items

We are pleased to inform you about the new API enhancement to manage sub cost items, including support for retrieval, creation, updates, deletion, and copying.
In this release, we exposed 5 more endpoints to manage sub cost items as follow:
- GET sub-cost-items
- POST sub-cost-items
- POST sub-cost-items:copy
- PATCH sub-cost-items/:subCostItemsId
- DELETE sub-cost-items/:subCostItemsId
Within the above 5 endpoints, most of them are pretty straightforward and self explain, but the one(POST sub-cost-items:copy) to copy Sub Cost Items endpoint seems a little complex and I am going to talk a little bit more here about the 2 different use scenarios.
- Copying between types on the same cost item. For example, you can copy all the sub cost items for a specified cost item from the type estimated to approved, for this scenario, you don't need to specify parameter source, check the example as follow:
curl -v 'https://developer.api.autodesk.com/cost/v1/containers/02decd33-bc5b-43cc-8ade-b80ab60b942d/cost-items/470ed280-efef-11ee-a05b-a138de93696a/sub-cost-items:copy' \
-X 'POST' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer XXX' \
-d '{
"from": "proposed",
"to": "approved"
}'
- Copying the sub cost items from a budget or a contact. If copying from budget, you need to provide the source.ids of budget sub items; If copying from contract, you need to provide sub items of a contract sov. Here is one example, copy from the sub item(78588a4f-378c-496e-9b37-f30c20767855) under the connected contract sov to proposed type as sub cost items:
curl -v 'https://developer.api.autodesk.com/cost/v1/containers/02decd33-bc5b-43cc-8ade-b80ab60b942d/cost-items/470ed280-efef-11ee-a05b-a138de93696a/sub-cost-items:copy' \
-X 'POST' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer XXX' \
-d '{
"from": "contract",
"to": "proposed",
"source": {
"ids": [
"78588a4f-378c-496e-9b37-f30c20767855"
]
}
}'
Please make sure the ids you specified in source.ids are available to be copied from, you can confirm this by checking with the UI as the API behave exactly same as UI.