Request

Response

    Budgets
    GET

    v1/containers/{containerId}/budgets

    Returns all the budgets in a specific project.

    Note that this endpoint is compatible with both BIM 360 and Autodesk Construction Cloud (ACC) projects.

    Resource Information

    Method and URI
    GET
    https://developer.api.autodesk.com/cost/v1/containers/:containerId/budgets
    Authentication Context
    user context required
    Required OAuth Scopes
    data:read
    Data Format
    JSON

    Request

    Headers

    Authorization*
    string
    Must be Bearer <token>, where <token> is obtained via a three-legged OAuth flow.
    region
    string
    The region where the project data resides, to which this request is routed.

    This header is optional because the request is automatically routed to a target region based on the project ID or container ID. Using the header, though, can save lookup time on each API call. For information about verifying the region the data resides in, see the Working with BIM 360 Services in Different Regions section on the API Basics page.

    Possible values: EMEA, US. For the full list of supported regions, see the Regions page.

    * Required

    Request

    URI Parameters

    containerId
    string: UUID
    The ID of the cost container for the project. Each project is assigned a container that stores all of the cost data for the project.

    To find the container ID, see the Retrieve a Cost Container ID tutorial.

    In ACC projects, the container ID is the same as the project ID. To obtain a project ID, use GET projects.

    Request

    Query String Parameters

    include
    array: string
    A list of nested resources top include in the response. For example, include=subitems will return the sub budget items. include=attributes will return custom attributes which represents the “properties” in the response. If idOnly is set, the response will only include a list of ids, and other include will be ignored. Possible values: subitems, attributes, contract, mainContract, mainContractItem, segments, idOnly, compounded.
    filter[rootId]
    array: string: uuid
    Query related sub-items for the given root item ID. Separate multiple IDs with commas. For example, filter[rootId]=id1,id2.
    filter[id]
    array: string: uuid
    Returns only the items that are identified by the provided list of item IDs. Separate multiple IDs with commas. For example, filter[id]=id1,id2.
    filter[lastModifiedSince]
    string
    Returns only items that were modified since the specified date and time, in ISO 8601 format. For example, filter[lastModifiedSince]=2020-03-01T13:00:00Z.
    filter[externalSystem]
    string
    The name of the external ERP system. Use this name to identify or search within the integrated system. For example, filter[externalSystem]=Sage300.

    Max length: 255

    filter[externalId]
    array: string
    The ID of the item in the external ERP system. Use this ID to track or look up data in an integrated ERP system. For example, filter[externalId]=id1,id2.
    filter[code]
    array: string
    Returns only items that are identified by the specified codes (separated by commas). For example, filter[code]="2703,2704".

    Note that even single codes in number format must be enclosed in double quotes:filter[code]="1" or filter[code]="122. 221".

    offset
    int
    The number of objects to skip before returning a page of records. To return the subsequent page, increment this number by the value of limit in the next request.
    limit
    int
    The maximum number of records that this endpoint returns per page. Default: 100.

    Note that a returned page may contain fewer items than the limit under either of these conditions:

    • There are fewer items found than the limit value.
    • The last page of a set is returned.
    sort
    string
    The sort order for items. Each attribute can be sorted in either asc (default) or desc order. For example, sort=name, updatedAt desc or sort=name + updatedAt desc sorts the results first by name in ascending order, then by date updated in descending order.

    Response

    HTTP Status Code Summary

    200
    OK
    Success
    400
    Bad Request
    The parameters are invalid.
    401
    Unauthorized
    The provided bearer token is invalid.
    403
    Forbidden
    Forbidden. The user or service represented by the bearer token does not have permission to perform this operation.
    404
    Not Found
    The resource or endpoint cannot be found.
    409
    Conflict
    The request could not be completed due to a conflict with the current state of the resource.
    429
    Too Many Requests
    Rate limit exceeded. Retry your request after a few minutes.
    500
    Internal Server Error
    An unexpected error occurred on the server.
    503
    Service Unavailable
    Service unavailable.

    Response

    Body Structure (200)

    Expand all
    pagination
    object
    Pagination information when data must be returned page by page.
    limit
    int
    The maximum number of objects returned in this response.
    offset
    int
    The number of resulting objects that were skipped before this page of records was returned.
    totalResults
    int
    The total number of objects found that satisfied the request criteria.
    nextUrl
    string
    The URL for the next request to return the next page of records.

    Max length: 2000

    results
    array: object
    The detailed budgets.
    id
    string: UUID
    Unique identifier of the budget.
    parentId
    string,null
    ID of a parent budget, null for root budgets.
    code
    string
    Unique code compliant with the budget code template defined by the project admin.

    Max length: 255

    scope
    enum:string
    The scope of the budget. Possible values are budgetOnly and budgetAndCost.
    subItems
    array,null
    The sub-budget in the root budget.

    Max length: 255

    budgetCode
    object,null
    Budget code template and budget segment codes used in the budget. Not applicable for sub-budget.
    codeSegmentValues
    object
    Not relevant
    name
    string
    The name of the budget.

    Max length: 1024

    description
    string
    The detail description of the budget.

    Max length: 2048

    quantity
    number
    The quantity of labor, material,… planned for the budget.
    inputQuantity
    number,null
    The input quantity planned for the budget.
    ratio
    number
    The ratio of the quantity the resources used on the budget.
    unitPrice
    number,string,null
    Unit price of a budget.
    unit
    string
    Unit of measures used in the budget.
    originalAmount
    number
    Original amount of the budget, equals to quantity * unitPrice
    milestoneId
    string,null
    Not relevant
    internalAdjustment
    number
    Amount of internal transfers between budgets
    approvedOwnerChanges
    number
    The total amount of changes approved by the owner
    pendingOwnerChanges
    number
    The total amount of changes waiting for the approval by the owner
    originalCommitment
    number
    The original amount committed in the supplier contract.
    approvedChangeOrders
    number
    The total amount of changes committed to the supplier.
    approvedInScopeChangeOrders
    number
    The total amount of in-scope changes committed to the supplier.
    pendingChangeOrders
    number
    The total amount of changes not committed to the supplier.
    reserves
    number
    The total amount of changes under estimation.
    actualQuantity
    number
    The total of the actual quantity of labor, material,… for the budget.
    actualUnitPrice
    number,string,null
    Average unit price for the actual cost of the budget.
    actualCost
    number
    The total amount of actual cost of the budget.
    mainContractId
    string: UUID
    Not relevant
    contractIds
    array: string
    Not relevant
    locations
    array,null
    A list of the IDs of the project locations where this item applies.

    For more information, see the Locations Help documentation help.

    locationPaths
    array,null
    A list of the IDs of the project locations where this item applies, along with the node paths of these locations in the project’s locations tree.

    For more information, see the Locations Help documentation help.

    plannedStartDate
    string,null
    Not relevant
    plannedEndDate
    string,null
    Not relevant
    actualStartDate
    string,null
    Not relevant
    actualEndDate
    string,null
    Not relevant
    durationDays
    number
    Not relevant
    uncommitted
    number
    The amount that has been approved by owner but not committed to the supplier. This is calculated as approvedOwnerChanges - (approvedChangeOrders - approvedInScopeChangeOrders).
    revised
    number
    The total amount of the approved budget from the owner, equals to originalAmount + internalAdjustment + approvedOwnerChanges.
    projectedCost
    number
    The total amount of the project cost. For a budget, it is equal to originalCommitment + approvedChangeOrders + pendingChangeOrders + reserves. For a contract , it is equal to awarded + approvedChangeOrders + pendingChangeOrders + reserves.
    projectedBudget
    number
    The total amount of the project budget including pending changes, equals to revised + pendingOwnerChanges.
    forecastFinalCost
    number
    The total amount of the project cost including forecast adjustments, equals to projectedCost + adjustmentsTotal.
    forecastVariance
    number
    The total amount of the forecast variance, equals to projectedBudget - forecastFinalCost.
    forecastCostComplete
    number
    The total amount of the forecast cost to complete, equals to forecastFinalCost - actualCost.
    varianceTotal
    number
    The total amount of the variance of a budget, equals to projectedBudget - projectedCost.
    externalId
    string
    The identifier assigned to an item in its original external ERP system. Use this ID to track and look up data within the integrated system. Note that this value comes from the item’s ID in the external system.

    Max length: 255

    externalSystem
    string
    The name of the external ERP system integrated with Cost Management. Use this name to identify and search for data within the integrated system.

    Max length: 255

    externalMessage
    string
    A message generated by the external ERP system that explains the sync status of the integration. For example, common values include success or fail to indicate the result of the integration operation.

    Max length: 255

    lastSyncTime
    datetime: ISO 8601
    The date and time when the item was last synchronized with the external ERP system. This value is updated by the external system and is in ISO 8601 format.
    integrationState
    string,null
    The state of the item during the integration with the external ERP system (such as SignNow). An item can be a budget, contract, main contract, main contract item, cost item, expense, expense item, change order, or schedule of value. For more details, see Integrate with External System tutorial. Possible values:

    locked: the item is currently locked within the ERP system, preventing modifications until unlocked. To unlock and modify the item, use the relevant PATCH endpoint to set integrationState to null. For example, for a budget, call PATCH budgets. For a contract, call PATCH contracts. For more details, see the Help documentation.

    integrated: the item has been successfully added to the ERP system.

    failed: the item encountered an error during the integration process and was not successfully added to the ERP system. For example, if a user tries to integrate contracts from an ERP system and the updates fail, the integrationState can be set to failed. Retry the sync process or analyze the issue if it continues to fail.

    null: The item has not been integrated with the ERP system. This is default value.

    For more information regarding integrations within the Cost Management system, see Integrations in Cost Management.

    integrationStateChangedAt
    string,null
    The date and time that the item’s integration status was last changed.
    integrationStateChangedBy
    string,null
    The user who last changed the integration status. This is the ID of a user managed by the BIM 360/ACC Admin.
    createdAt
    datetime: ISO 8601
    The date and time that the item was created, in ISO 8601 format.
    updatedAt
    datetime: ISO 8601
    The date and time that the item was last updated, in ISO 8601 format.

    Example

    Success

    Request

    curl -v 'https://developer.api.autodesk.com/cost/v1/containers/e94b9bc8-1775-4d76-9b1d-c613e120ccff/budgets?filter[lastModifiedSince]=2020-03-01T13:00:00Z&limit=100&sort=name,createdAt desc' \
      -H 'Authorization: Bearer AuIPTf4KYLTYGVnOHQ0cuolwCW2a'
    

    Response

    {
      "pagination": {
        "limit": 20,
        "offset": 0,
        "totalResults": 1,
        "nextUrl": ""
      },
      "results": [
        {
          "id": "683904a0-47ce-4146-ac2d-a3840f00e0f4",
          "parentId": "null",
          "code": "84720010130000GEN",
          "scope": "budgetAndCost",
          "subItems": "",
          "budgetCode": "",
          "codeSegmentValues": {},
          "name": "Contingency",
          "description": "Reserved for contingency",
          "quantity": 50,
          "inputQuantity": 50,
          "ratio": 1,
          "unitPrice": "1000.0000",
          "unit": "LS",
          "originalAmount": 1000,
          "milestoneId": "227e1360-9481-11e8-87fb-215990a8aeb3",
          "internalAdjustment": 1000,
          "approvedOwnerChanges": 1000,
          "pendingOwnerChanges": 1000,
          "originalCommitment": 1000,
          "approvedChangeOrders": 1000,
          "approvedInScopeChangeOrders": 1000,
          "pendingChangeOrders": 1000,
          "reserves": 1000,
          "actualQuantity": 50,
          "actualUnitPrice": "1000.0000",
          "actualCost": 1000,
          "mainContractId": "f6445638-ca68-4e3c-9160-15864de6b818",
          "contractIds": [
            "48934441-e392-49d7-bf58-8dea43d413ae"
          ],
          "locations": [
            "683904a0-47ce-4146-ac2d-a3840f00e0f4"
          ],
          "locationPaths": [
            "683904a0-47ce-4146-ac2d-a3840f00e0f4"
          ],
          "plannedStartDate": "2019-01-06",
          "plannedEndDate": "2020-01-06",
          "actualStartDate": "2019-01-06",
          "actualEndDate": "2020-02-10",
          "durationDays": 90,
          "uncommitted": 1000,
          "revised": 1000,
          "projectedCost": 1000,
          "projectedBudget": 1000,
          "forecastFinalCost": 1000,
          "forecastVariance": 1000,
          "forecastCostComplete": 1000,
          "varianceTotal": 1000,
          "externalId": "10010-99-AB",
          "externalSystem": "Sage300",
          "externalMessage": "Success.",
          "lastSyncTime": "2019-09-05T01:00:12.989Z",
          "integrationState": "locked",
          "integrationStateChangedAt": "2019-09-05T01:00:12.989Z",
          "integrationStateChangedBy": "CED9LVTLHNXV",
          "createdAt": "2019-01-06T01:24:22.678Z",
          "updatedAt": "2019-09-05T01:00:12.989Z"
        }
      ]
    }
    
    Show More