Budgets

Budgets endpoints return budget specific data for a client or project


Get Tabs

HTTP GET v2/Budgets/123/Tabs

Returns the tabs for a given Non-AEC project.

Response

[
  {
    "Id": "456",
    "ProjectId": "123",
    "Name": "Additional Fees",
  }
]

Get Workstages

HTTP GET v2/Budgets/123/Stages

Returns the stages for a given project.

Response

[
  {
    "Id": "456",
    "ProjectId": "123", // AEC only
    "FeeType": "AEC", // AEC only
    "Name": "Additional Fees",
    "StartDate": "2023-01-01T00:00:00",
    "EndDate": "2023-01-01T00:00:00",
  }
]

Get Tasks

HTTP GET v2/Budgets/123/Tasks

Returns the tasks for a given project.

Response

[
  {
    "Id": "456",
    "StageId": "789",
    "Name": "Additional Fees",
    "Notes": "",
    "StartDate": "2023-01-01T00:00:00",
    "EndDate": "2023-01-01T00:00:00",
    "Roles": [
      {
        "Name": "Test Role",
        "Hours": "7.5", // If BudgetInDays Feature is off
        "Days": "1", // If BudgetInDays Feature is on
        "Value": "100"
      }
    ]
  }
]

Get Externals

HTTP GET v2/Budgets/123/Externals

Returns the externals for a given AEC project.

Response

[
  {
    "StageId": "789",
    "CalculationType": "Fixed Fee",
    "BillingType": "Scheduled",
    "Name": "External 1",
    "CostPrice": "99.99",
    "SalePrice": "99.99",
    "ActualPrice": "99.99",
  }
]

Create External

HTTP POST v1/budgets/1/externals

Create a new additional/external for the given project

Request

{
  "name": "Taxi Travel",
  "workstage": "Workstage Name",
  "calculationType": "FixedFee", // One of PercentageOfConstructionCost, FixedFee
  "billingType": "Scheduled", // One of Scheduled, Incurred, PassThrough
  "costPrice": 250,
  "salePrice": 150
}

Response

{
  "id": 123
}

Update External

HTTP PUT v1/budgets/1/externals/1000

Update an additional/external for the given project

Request

{
	"name": "Taxi Travel to Airport",
	"workstage": "Workstage Name",
	"calculationType": "PercentageOfConstructionCost", // One of PercentageOfConstructionCost, FixedFee
	"billingType": "Incurred", // One of Scheduled, Incurred, PassThrough
	"costPrice": 300,
	"salePrice": 300
}

Response

{
  "result": true
}

Get Additionals

HTTP GET v2/Budgets/123/Additionals

Returns the additionals for a given Non-AEC project.

Response

[
  {
    "Name": "External 1",
    "CostPrice": "99.99",
    "SalePrice": "99.99",
    "ActualPrice": "99.99",
  }
]

Get Additionals for Expense

HTTP GET v2/Budgets/123/ExpenseAdditionals

Returns a list of additionals for a given live Non-AEC project categorized by how they can be handled as part of an expense claim item request. Additionals marked as chargeable will appear in both the Charge and No Charge sections while those that aren’t will appear in the Allowance section.

If the API user has permission to create new additionals on the project in question they will also get a Create New entry for each handleType with an Id of 0

Response
{
    "categorizedAdditionals": [
        {
            "handleTypeId": 1,
            "handleType": "Charge",
            "additionals": [
                {
                    "id": 123,
                    "name": "Site Visits"
                }
            ]
        },
        {
            "handleTypeId": 2,
            "handleType": "No Charge",
            "additionals": [
                {
                    "id": 123,
                    "name": "Site Visits"
                }
            ]
        },
        {
            "handleTypeId": 3,
            "handleType": "Allowance",
            "additionals": [
                {
                    "id": 456,
                    "name": "Printing & Delivery"
                },
            ]
        }
    ]
}

This endpoint is primarily intended to be used as part of creating or updating an expense claim item via the API. It will always return an empty categorizedAdditionals array for projects/tenant configurations where handling expenses at claim time is not supported.

Get Adjustments

HTTP GET v2/Budgets/123/Adjustments

Returns the adjustments for a given Non-AEC project.

Response

[
  {
    "Description": "Test Adjustment",
    "Value": "99",
  }
]