Software update 2.9.2026 (2026.14.0)
Estima
New
PATCH /estima/projects/{projectId}/work-items/{workItemId}/resources/{resourceId}— update a resource of a work item.DELETE /estima/projects/{projectId}/work-items/{workItemId}/resources/{resourceId}— delete a resource of a work item.
Insite
Repaired/changed
GET /insite/projects/{projectId}/installments: thestatusfilter accepts several values at once (pending,approved,paid).
Both products
New
- The project details endpoints (
GET /estima/projects/{projectId}andGET /insite/projects/{projectId}) return a newcostGroupClassificationobject (code,description) describing the cost group classification used by the project, when one has been set up.
Software update 7.7.2026 (2026.13.0)
Estima
New
GET /estima/projects/{projectId}/cost-groups— paginated list of the project's cost groups (litterat) withid,code,descriptionandworkItemCount, ordered by code descending. Supportspageandlimit.DELETE /estima/projects/{projectId}/reference-projects/{referenceProjectId}— remove a reference project link.
Repaired/changed
codeof a work item andworkItemCodeof a resource are now documented and returned as nullable.- Work items and resources with an empty code no longer cause an internal server error (
500) in the listing endpoints.
Update 2026.12.1
Insite
Repaired/changed
- Purchase invoice rows: fixed the decimal precision of
quantityandhoursso that the stored values match the values sent.
The sections below cover changes merged before 7.7.2026, which shipped in an untagged release.
Changes in June 2026
Estima
New
GET /estima/projects/{projectId}/reference-projects— list the reference projects linked to a project (projectId,code,name).POST /estima/projects/{projectId}/reference-projects— link a reference project to a project.
Insite
Repaired/changed
- Purchase invoices: rows locked in Insite are handled correctly. Invoice rows carry the read-only fields
costGroupLockedandcostTypeLocked. When an existing invoice is updated, unlocked rows are replaced as before, while a locked row is matched to the payload row with an identical description; its lockedcostGroup/costTypevalue is preserved and the other fields are updated normally. A locked row that has no matching description in the payload is deleted. The lock fields cannot be set through the API. POST /insite/expensesandPOST /insite/expenses/{invoiceNumber}return the upserted invoice, including the resulting rows and their lock state.- Purchase invoice upsert: fixed handling of the external id, and shortened the time the invoice row table is locked during the insert, which reduces conflicts between simultaneous requests. (Decimal precision of the invoice rows was fixed separately in hotfix
2026.12.1.)
Both products
New
- New optional
TENANT-IDrequest header for Admicom SSO authenticated requests, used to select the organisation context. The value is matched against the organisation's SSO tenant id. Unknown tenant returns400, a tenant the user is not a member of returns403. The header is ignored for AWS Cognito authenticated requests. - The API documentation is split:
/apinow contains the public API only, which makes the published interface easier to read.
Changes in May 2026
Estima
New
- Resources have a new
multiplierfield (project-specific multiplier applied in the resource quantity calculation). It is returned by the resource endpoints and can be given when creating a resource.
Insite
New
GET /insite/projects/{projectId}/installmentsreturns the new fieldsupdatedAt(when the installment was last updated) andstatus(pending,approvedorpaid).GET /insite/projects/{projectId}/installmentssupports a newupdatedAfterfilter and astatusfilter.
Repaired/changed
- The maximum length of
invoiceNumberandadditionalInvoiceNumberin the purchase invoice endpoints was raised to 100 characters.
Both products
Repaired/changed
GET /estima/projectsandGET /insite/projectsreturn projects newest first.
Changes in April 2026
Estima
New
POST /estima/projects/{projectId}/work-items/{workItemId}/resources— create a resource for a work item.PATCH /estima/projects/{projectId}/work-items/{workItemId}— update a work item (code,description,unit,group,notes,checked,flagged,headerRow,externalId).DELETE /estima/projects/{projectId}/work-items/{workItemId}— delete a work item.PATCH /estima/project-groups/mass-assign— assign or remove a project group for several projects in one request. Returns207with per-project results when only part of the projects could be updated.
Repaired/changed
- When creating a resource, the fields
discountPercentage,groupandpricedUsingResourceare no longer required; default values are used when they are omitted. - The
quantitySourceof a work item quantity can now also beMeasurementorQuantima. - Fixed the validation of
externalIdwhen updating a work item.
Changes in March 2026
Estima
New
POST /estima/projects/{projectId}/work-items— create a work item.GET /estima/projects/{projectId}/work-items/{workItemId}/locations— paginated list of the work item's locations, including location code, description, amount, amount source, unit and the linked building component data.POST /estima/projects/{projectId}/work-items/{workItemId}/locations— create a location for a work item (locationCode,amount,description).PATCH /estima/projects/{projectId}/work-items/{workItemId}/locations/{locationId}— update a work item location.DELETE /estima/projects/{projectId}/work-items/{workItemId}/locations/{locationId}— delete a work item location.
Repaired/changed
- Project groups:
companyIdis optional, and the maximum lengths of the project group fields were corrected.
Changes in February 2026
Estima
New
- Project group endpoints:
GET /estima/project-groups— paginated list of project groups.GET /estima/project-groups/{id}— a single project group.POST /estima/project-groups— create a project group.PUT /estima/project-groups/{id}— update a project group.DELETE /estima/project-groups/{id}— delete a project group.PATCH /estima/projects/{projectId}/group— assign a project to a group or remove it from its group.
Repaired/changed
- The
subprojectIdquery parameter is validated as an integer on the work items, resources, building components and offer parameters endpoints; invalid values return400.
Changes in January 2026
Estima
New
- Work items return the new field
costGroupName(the name of the work item's cost group). - Resources return the new field
pricedUsingResource, which indicates whether the resource is priced using a named resource (true) or directly on the cost type row (false). - Offer parameters: the economic margin calculation was added, together with the
showEconomicMarginflag telling whether the economic margin is shown for the project.
Repaired/changed
- The documentation of the nested objects in the work item and resource responses was clarified: resources nested in work items do not contain the
calculations,locations,buildingComponentsorworkItemdata — use the/resourcesendpoint for those.
Insite
Repaired/changed
- The maximum length of the purchase invoice
descriptionwas raised to 250 characters to match the database.
Both products
New
- Projects: the project data returns the new field
projectGroup, andGET /estima/projectsandGET /insite/projectssupport a newprojectGroupsfilter.
Changes in December 2025
Estima
New
- Resources: quantities and prices are calculated per location.
GET /estima/projects/{projectId}/resourceswithinclude=workItemsreturns aworkItemobject that contains the work item data and its locations, and withinclude=buildingComponentsthe building components contain their per-location quantities. Each location row carriescode,quantityandprice.
Repaired/changed
- Offer parameters: the row description of a special contract no longer contains the row index.
Insite
Repaired/changed
- Purchase invoices: the maximum length of the invoice row
unit(10 characters) is validated, and the maximum length ofinvoiceNumberin the upsert endpoint was corrected to 36 characters.
Changes in November 2025
Estima
New
GET /estima/projects/{projectId}/offer-paramsreturns a newcalculationsobject with the offer parameter calculations:riskAllowance— risk allowance per cost type, for social expenses and in total.changeAllowance— change allowance per cost type, for social expenses and in total.specialContracts— special contract rows (id,description,amount) and their total amount.overhead— overhead per cost type, and for social expenses, risk allowance, change allowance and in total.margin— margin per cost type, and for social expenses, risk allowance, change allowance, overhead and in total.
- Each calculation row contains
baseAmount,percentage,additionandtotalWithAddition. GET /estima/projects/{projectId}/offer-paramssupports a newsubprojectIdfilter. When it is omitted, all subprojects of the project are included.
Repaired/changed
- Offer parameter calculations: social expenses are no longer counted twice, the correct percentages are used, cost additions are used as the base prices of the margin calculation, and the missing social expense calculations were added to the totals.
Both products
Repaired/changed
- Wildcard filters: patterns
*value(ends with) and*value*(contains) now work correctly in the list endpoint filters. Affects the project listings in both products, and the Estima work item, resource and building component listing
Software update 14.10.2025 (2025.10.0)
Repaired/changed
- StateUpdatedAfter field can be used to get new projects that have not had their state yet changed. (i.e. new projects) State means "Under construction, Designed, Finished, Warranty Period."
- ProjectState filter can be used with multiple states now.
Software update 15.5.2025 (2025.6.0)
Repaired/changed
- The quantity attribute of the work-items interface has been deprecated and disabled. In the future, use the calculations.quantity value, which can be included in the listing result by adding "include=calculations" to the query (.../work-items?include=calculations)
- The total attribute of the calculations object of the work-items interface has been deprecated and disabled. Use calculations.totalPrice in the future
- Fixed simultaneous adding and editing of purchase invoices to make it more reliable
- The project data (/projects/projectId) has a VAT percentage ("vatPercent")
Work-item changes in Rest-API
Software update 9.4.2025
Repaired/changed
- Fixed the error related to the calculation of floating points in the Rest API, which caused extra decimals