Accubid Anywhere APIs

Steps to Using Accubid Anywhere APIs

Overview

This section shows you how to quickly start calling the Accubid Anywhere APIs. We recommend using a popular API testing tool.

The steps below outline how to efficiently return data by utilizing the tree structure. In order to get project level details, you will first need to pass Database token. In order to get estimate level details, you will need to pass a Project ID, and so on.

Authentication

The access token acquired from authentication must be included as an Authorization Bearer token in all other API calls. To acquire access token please follow the TrimbleIdentity documentation for the “Authorization Code” and “Authorization Code with PKCE” grant types.

Check out the Authorization Guide for more information.

Get database token

GET https://cloud.api.trimble.com/anywhere/database/v1/databases

This will return a list of database names and tokens.

Example response
[
{
"Token": "xxxxxxxxx",
"DatabaseName": "Database A",
"CompanyName": "Company A"
},
{
"Token": "yyyyyyyyy",
"DatabaseName": "Database B",
"CompanyName": "Company B"
}
]

Get the project list

Get the project list for a database

GET https://cloud.api.trimble.com/anywhere/project/v1/projects/{databaseToken}

This will return a list of project names and IDs.

Example response
[
{
"ProjectID": "XxYyZz123",
"ProjectName": "Project A",
"ProjectNumber": "Project 1",
"Type": "Commercial:Large:New",
"StartDate": "1970-01-01T00:00:00.000Z",
"EndDate": "1970-01-01T00:00:00.000Z",
"CreatedDate": "1970-01-01T00:00:00.000Z",
"CreatedBy": "exampleresponse@trimble.com",
"ManagingBranchName": "Company Name",
"ProjectPath": "Project Folder",
"TrimbleProjectID": null
},
{
"ProjectID": "XxYyZz123",
"ProjectName": "Project B",
"ProjectNumber": "Project 2",
"Type": "Commercial:Large:New",
"StartDate": "1970-01-01T00:00:00.000Z",
"EndDate": "1970-01-01T00:00:00.000Z",
"CreatedDate": "1970-01-01T00:00:00.000Z",
"CreatedBy": "exampleresponse@trimble.com",
"ManagingBranchName": "Company Name",
"ProjectPath": "Project Folder",
"TrimbleProjectID": null
}
]

Get the estimate list

Get the estimate list for a project

GET https://cloud.api.trimble.com/anywhere/estimate/v1/estimates/{databaseToken}/{projectID}

This will return a list of estimated names and IDs

Example response
[
{
"EstimateID": "AaBbCc123",
"EstimateName": "Estimate A",
"EstimateNumber": "Estimate 1",
"Status": "Pending",
"CreatedBy": "exampleresponse@trimble.com",
"CreatedDate": "1970-01-01T00:00:00.000Z",
"DueDate": "1970-01-01T00:00:00.000Z",
"StartDate": "1970-01-01T00:00:00.000Z",
"EndDate": "1970-01-01T00:00:00.000Z",
"Contract": null,
"IsDeleted": false
},
{
"EstimateID": "XxYyZz456",
"EstimateName": "Estimate B",
"EstimateNumber": "Estimate 2",
"Status": "Pending",
"CreatedBy": "exampleresponse@trimble.com",
"CreatedDate": "1970-01-01T00:00:00.000Z",
"DueDate": "1970-01-01T00:00:00.000Z",
"StartDate": "1970-01-01T00:00:00.000Z",
"EndDate": "1970-01-01T00:00:00.000Z",
"Contract": null,
"IsDeleted": false
}
]

Get the estimate info

Get information for a specific estimate

GET https://cloud.api.trimble.com/anywhere/estimate/v1/estimate/{databaseToken}/{estimateID}

This will return information for a specific estimate

Example response
{
"EstimateID": "AaBbCc123",
"Name": "Estimate A",
"Number": "Estimate 1",
"CreatedBy": "exampleresponse",
"CreatedDate": "2015-06-03T13:42:06.817",
"LaborColumn": "Column Nmae",
"LaborFactorMethod": "Additive",
"ImperialMetric": "Imperial",
"Status": "Pending",
"Industry": "Mechanical",
"ApplyMarkupOnOverhead": true,
"ApplyOverheadAndMarkupOnTax": true,
"VendorPricingPrecedence": true,
"Contract": null,
"DueDate": "1970-01-01T00:00:00.000Z",
"StartDate": "1970-01-01T00:00:00.000Z",
"EndDate": "1970-01-01T00:00:00.000Z",
"Notes": "<div style=\"font-size:12pt;font-family:&quot;Times New Roman&quot;;\"></div>",
"Duration": 0.0,
"TimeInterval": "Days",
"IsDeleted": false,
"BidSummaries": [
{
"BidSummaryID": "xxxxyyyy",
"BidSummaryName": "Bidsummary A"
},
{
"BidSummaryID": "aaaabbbb",
"BidSummaryName": "Bidsummary B"
}
],
"BreakdownCategories": [
{
"BreakdownCategoryID": 1,
"BreakdownCategoryName": "Area",
"BreakdownCategoryLabel": null
},
{
"BreakdownCategoryID": 2,
"BreakdownCategoryName": "Bid Item",
"BreakdownCategoryLabel": null
},
{
"BreakdownCategoryID": 3,
"BreakdownCategoryName": "Misc 1",
"BreakdownCategoryLabel": "Line Number"
},
{
"BreakdownCategoryID": 4,
"BreakdownCategoryName": "Drawing",
"BreakdownCategoryLabel": null
}
]
}

Get extension details for a specific estimate

Call the estimate extension item details API to get extension information for a specific estimate

GET https://cloud.api.trimble.com/anywhere/estimate/v1/extensionItemDetailsFileSignalR{databaseToken}/{estimateID}/{connectionID}

This will send a message with a URL via SignalR when the file is available for download.

Example response
[
{
"TakeoffID": 12345,
"TakeOffItemID": 67890,
"JobID": 1234,
"ItemDescription": "AaBbCc123",
"Attributes": "1/2\"",
"Qty": 40,
"PriceUnit": "C",
"Price": 0,
"MaterialCondition": "Normal",
"Discount": 0,
"Cost": 0,
"CostAdj": 0,
"NetCost": 0,
"TotalMaterial": 0,
"LaborUnit": "C",
"FieldLaborAdj": null,
"FieldLabor": 1.11,
"TotalFieldLabor": 0.2222,
"ShopLabor": 0.111,
"ShopQty": 40,
"TotalShopLabor": 0.2222,
"TotalLabor": 1.112,
"SortCode1": "aaaabbbb",
"SortCode2": "xxxxyyyy",
"SortCode3": null,
"SortCode4": null,
"SortCode5": null,
"SortCode6": null,
"SortCode7": null,
"SortCode8": null,
"SortCode1ID": 1234,
"SortCode2ID": 5678,
"SortCode3ID": null,
"SortCode4ID": null,
"SortCode5ID": null,
"SortCode6ID": null,
"SortCode7ID": null,
"SortCode8ID": null,
"ERPSystemCode": null,
"CatalogNumber": "aaaabbbb",
"JobDiscountGroupName": null,
"LaborCondition": "Normal",
"LbrByWtCategory": null,
"Manufacturer": "Generic",
"MeasureType": "Length",
"PriceCode": "111122223333",
"PriceDate": "1970-01-01T00:00:00.000",
"ItemArea": 0.111,
"AreaUnit": "E",
"TotalArea": 11.11,
"Volume": 0,
"VolumeUnit": "E",
"TotalVolume": 0,
"Weight": 30,
"WeightUnit": "C",
"TotalWeight": 12,
"Vendor": null,
"VendorCode": "Code A",
"VendorPrice": null,
"VendorNote": null,
"WallThickness": 0,
"PriceUnitID": 2,
"PriceConditionID": 0,
"LaborUnitID": 2,
"AreaUnitID": 1,
"DiscountGroupID": null,
"LaborConditionID": 0,
"LaborByWeightCategoryID": null,
"MeasureTypeID": 1,
"ItemVolumeUnitID": 1,
"ItemWeightUnitID": 2,
"VendorCompanyBranchID": null,
"TakeOffItemGroupID": 12345,
"TakeoffItemPriceID": 67890,
"Drawing": "Drawing 4",
"DrawingID": 12345,
"Area": "Area 4",
"AreaID": 67890,
"Phase": "Phase 4",
"PhaseID": 112233,
"System": "System 4",
"SystemID": 445566,
"BidItem": "Bid Item 4",
"BidItemID": 112233,
"LineNumber": "Spool 4",
"LineNumberID": 445566,
"Spool": "No Misc 2",
"SpoolID": 112233,
"Misc3": "No Misc 3",
"Misc3ID": 445566,
"Misc4": "No Misc 4",
"Misc4ID": 778899,
"Misc5": "No Misc 5",
"Misc5ID": 112233,
"Misc6": "No Misc 6",
"Misc6ID": 445566,
"Misc7": "No Misc 7",
"Misc7ID": 778899,
"LaborFactor": "Normal",
"LaborFactorID": 12345,
"SpecificationID": 56789,
"SpecificationName": "No Specification",
"TakeoffDetailID": 1122334455,
"AssemblyName": null,
"EncodedPath": "11AA22BB_33CC",
"Estimator": "example_response@trimble.com",
"GUID": null,
"Industry": "Electrical",
"IsDesignationItem": false,
"MaterialAdjustmentPct": 0,
"MaterialPricingMethod": "Quantity",
"TakeoffAssemblyID": null,
"TakeoffLabel": "aaaabbbb",
"WeightUnitWeight": null,
"DesignationUniqueID": null,
"AreaCode": "",
"BidItemCode": "",
"SpoolCode": null,
"DrawingCode": "",
"PhaseCode": "",
"LineNumberCode": "",
"SystemCode": "",
"Misc3Code": null,
"Misc4Code": null,
"Misc5Code": null,
"Misc6Code": null,
"Misc7Code": null
}
]

Get extension details for a specific Bid Summary

Call the estimate extension item details API to get extension information for a specific Bid Summary

GET https://cloud.api.trimble.com/anywhere/estimate/v1/extensionItemDetailsFileSignalR{databaseToken}/{estimateID}/{bidsummaryID}/{connectionID}

This will send a message with a URL via SignalR when the file is available for download.

Example response
[
{
"TakeoffID": 12345,
"TakeOffItemID": 67890,
"JobID": 1234,
"ItemDescription": "AaBbCc123",
"Attributes": "1/2\"",
"Qty": 40,
"PriceUnit": "C",
"Price": 0,
"MaterialCondition": "Normal",
"Discount": 0,
"Cost": 0,
"CostAdj": 0,
"NetCost": 0,
"TotalMaterial": 0,
"LaborUnit": "C",
"FieldLaborAdj": null,
"FieldLabor": 1.11,
"TotalFieldLabor": 0.2222,
"ShopLabor": 0.111,
"ShopQty": 40,
"TotalShopLabor": 0.2222,
"TotalLabor": 1.112,
"SortCode1": "aaaabbbb",
"SortCode2": "xxxxyyyy",
"SortCode3": null,
"SortCode4": null,
"SortCode5": null,
"SortCode6": null,
"SortCode7": null,
"SortCode8": null,
"SortCode1ID": 1234,
"SortCode2ID": 5678,
"SortCode3ID": null,
"SortCode4ID": null,
"SortCode5ID": null,
"SortCode6ID": null,
"SortCode7ID": null,
"SortCode8ID": null,
"ERPSystemCode": null,
"CatalogNumber": "aaaabbbb",
"JobDiscountGroupName": null,
"LaborCondition": "Normal",
"LbrByWtCategory": null,
"Manufacturer": "Generic",
"MeasureType": "Length",
"PriceCode": "111122223333",
"PriceDate": "1970-01-01T00:00:00.000",
"ItemArea": 0.111,
"AreaUnit": "E",
"TotalArea": 11.11,
"Volume": 0,
"VolumeUnit": "E",
"TotalVolume": 0,
"Weight": 30,
"WeightUnit": "C",
"TotalWeight": 12,
"Vendor": null,
"VendorCode": "Code A",
"VendorPrice": null,
"VendorNote": null,
"WallThickness": 0,
"PriceUnitID": 2,
"PriceConditionID": 0,
"LaborUnitID": 2,
"AreaUnitID": 1,
"DiscountGroupID": null,
"LaborConditionID": 0,
"LaborByWeightCategoryID": null,
"MeasureTypeID": 1,
"ItemVolumeUnitID": 1,
"ItemWeightUnitID": 2,
"VendorCompanyBranchID": null,
"TakeOffItemGroupID": 12345,
"TakeoffItemPriceID": 67890,
"Drawing": "Drawing 4",
"DrawingID": 12345,
"Area": "Area 4",
"AreaID": 67890,
"Phase": "Phase 4",
"PhaseID": 112233,
"System": "System 4",
"SystemID": 445566,
"BidItem": "Bid Item 4",
"BidItemID": 112233,
"LineNumber": "Spool 4",
"LineNumberID": 445566,
"Spool": "No Misc 2",
"SpoolID": 112233,
"Misc3": "No Misc 3",
"Misc3ID": 445566,
"Misc4": "No Misc 4",
"Misc4ID": 778899,
"Misc5": "No Misc 5",
"Misc5ID": 112233,
"Misc6": "No Misc 6",
"Misc6ID": 445566,
"Misc7": "No Misc 7",
"Misc7ID": 778899,
"LaborFactor": "Normal",
"LaborFactorID": 12345,
"SpecificationID": 56789,
"SpecificationName": "No Specification",
"TakeoffDetailID": 1122334455,
"AssemblyName": null,
"EncodedPath": "11AA22BB_33CC",
"Estimator": "example_response@trimble.com",
"GUID": null,
"Industry": "Electrical",
"IsDesignationItem": false,
"MaterialAdjustmentPct": 0,
"MaterialPricingMethod": "Quantity",
"TakeoffAssemblyID": null,
"TakeoffLabel": "aaaabbbb",
"WeightUnitWeight": null,
"DesignationUniqueID": null,
"AreaCode": "",
"BidItemCode": "",
"SpoolCode": null,
"DrawingCode": "",
"PhaseCode": "",
"LineNumberCode": "",
"SystemCode": "",
"Misc3Code": null,
"Misc4Code": null,
"Misc5Code": null,
"Misc6Code": null,
"Misc7Code": null
}
]

Get the final price data

Call the final price API to get the final price data for a Bid Summary

GET https://cloud.api.trimble.com/anywhere/closeout/v1/finalprice/{databaseToken}/{bidSummaryID}

This will return the final price data for a specific Bid Summary.

Example response
{
"Header": {
"ApplicationName": "ApplicationName",
"CustomerId": "1122334455",
"UserUuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Id": "aaAA11222-1234-1bb2-c101abcdef121_12743",
"ParentId": "aaAA11222-1234-1bb2-c101abcdef121_12743",
"ParentType": "BidSummary",
"CorrelationID": "aaAA11222-1234-1bb2-c101abcdef121_6195",
"ProjectId": "aaAA11222",
"Operation": "Create",
"OperationUtc": "1970-01-01T00:00:00.000Z"
},
"FinalPricing": {
"SellingPrice": {
"NetCost": {
"PrimeCost": {
"MaterialTotal": {
"DatabaseMaterial": {
"CalcAmount": 100000.00,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100000.00,
"ModPercent": 0,
"PercentOfFinalPrice": 10.000,
"Note": "",
"Code": "",
"VisualOrder": 1,
"Id": "1"
},
"MaterialAdjustment": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 2,
"Id": "2"
},
"MaterialTax": {
"CalcAmount": 10000.00,
"CalcPercent": 8,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 10000.00,
"ModPercent": 8,
"PercentOfFinalPrice": 1.000,
"Note": "",
"Code": "",
"VisualOrder": 6,
"Id": "4"
},
"CalcAmount": 100000.00,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100000.00,
"ModPercent": 0,
"PercentOfFinalPrice": 10.000,
"Note": "",
"Code": "",
"VisualOrder": 7,
"Id": "5"
},
"LaborTotal": {
"FieldLabor": {
"CalcAmount": 100000.00,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 1000000.0,
"ModPercent": 0,
"PercentOfFinalPrice": 10.0000,
"Note": "",
"Code": "",
"VisualOrder": 8,
"Id": "7"
},
"ShopLabor": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 9,
"Id": "6"
},
"IncidentalLabor": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 11,
"Id": "8"
},
"LaborFactoring": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 12,
"Id": "9"
},
"LaborEsclation": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 13,
"Id": "10"
},
"IndirectLabor": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 14,
"Id": "11"
},
"LaborTax": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 17,
"Id": "12"
},
"CalcAmount": 1000000.00,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 1000000.00.,
"ModPercent": 0,
"PercentOfFinalPrice": 10.000,
"Note": "",
"Code": "",
"VisualOrder": 18,
"Id": "13"
},
"Equipment": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 19,
"Id": "15"
},
"GeneralExpenses": {
"CalcAmount": 1000.00,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 1000.00,
"ModPercent": 0,
"PercentOfFinalPrice": 1.3,
"Note": "",
"Code": "",
"VisualOrder": 20,
"Id": "16"
},
"Subcontracts": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 21,
"Id": "14"
},
"Quotes": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 22,
"Id": "3"
},
"CalcAmount": 100000.0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100000.7,
"ModPercent": 0,
"PercentOfFinalPrice": 10.000,
"Note": "",
"Code": "",
"VisualOrder": 24,
"Id": "17"
},
"TotalOverhead": {
"MaterialOverhead": {
"CalcAmount": 10000.00,
"CalcPercent": 8,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100000.00,
"ModPercent": 8,
"PercentOfFinalPrice": 1.000,
"Note": "",
"Code": "",
"VisualOrder": 25,
"Id": "18"
},
"LaborOverhead": {
"Description": null,
"BasedOn": "Based on % of labor cost",
"Rate": 0,
"FieldLaborIncluded": false,
"ShopLaborIncluded": false,
"IncidentalLaborIncluded": false,
"LaborFactoringIncluded": false,
"IndirectLaborIncluded": false,
"CalcAmount": 10000.0,
"CalcPercent": 25,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 10000.0,
"ModPercent": 25,
"PercentOfFinalPrice": 10.000,
"Note": "",
"Code": "",
"VisualOrder": 26,
"Id": "20"
},
"EquipmentOverhead": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 27,
"Id": "22"
},
"GeneralExpensesOverhead": {
"CalcAmount": 100.00,
"CalcPercent": 4,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100.00,
"ModPercent": 4,
"PercentOfFinalPrice": 0.052,
"Note": "",
"Code": "",
"VisualOrder": 28,
"Id": "23"
},
"SubcontractsOverhead": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 29,
"Id": "21"
},
"QuotesOverhead": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 30,
"Id": "19"
},
"AdjustmentOverhead": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 133,
"Id": "24"
},
"CalcAmount": 10000.63,
"CalcPercent": 10.000,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100000.00,
"ModPercent": 10.000,
"PercentOfFinalPrice": 10.000,
"Note": "",
"Code": "",
"VisualOrder": 134,
"Id": "25"
},
"CalcAmount": 100000.00,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100000.00,
"ModPercent": 0,
"PercentOfFinalPrice": 10.000,
"Note": "",
"Code": "",
"VisualOrder": 135,
"Id": "40"
},
"TotalMarkUp": {
"Description": null,
"MaterialMarkup": {
"CalcAmount": 1000.00,
"CalcPercent": 4,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 1000.00,
"ModPercent": 4,
"PercentOfFinalPrice": 1.000,
"Note": "",
"Code": "",
"VisualOrder": 136,
"Id": "26"
},
"LaborMarkup": {
"Description": null,
"BasedOn": "Based on % of labor cost & overhead",
"Rate": 0,
"FieldLaborIncluded": false,
"ShopLaborIncluded": false,
"IncidentalLaborIncluded": false,
"LaborFactoringIncluded": false,
"IndirectLaborIncluded": false,
"CalcAmount": 100000.00,
"CalcPercent": 10.0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100000.00,
"ModPercent": 10.0,
"PercentOfFinalPrice": 1.000,
"Note": "",
"Code": "",
"VisualOrder": 137,
"Id": "28"
},
"EquipmentMarkup": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 138,
"Id": "30"
},
"GeneralExpensesMarkup": {
"CalcAmount": 100.00,
"CalcPercent": 2.5,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100.00,
"ModPercent": 2.5,
"PercentOfFinalPrice": 0.034,
"Note": "",
"Code": "",
"VisualOrder": 139,
"Id": "31"
},
"SubcontractsMarkup": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 140,
"Id": "29"
},
"QuotesMarkup": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 141,
"Id": "27"
},
"AdjustmentMarkup": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 244,
"Id": "32"
},
"BasedOn": "Calculate Total Markup based on entered percentages",
"LaborRiskRationPercent": 0,
"CalcAmount": 10000.00,
"CalcPercent": 1.000,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 10000.00,
"ModPercent": 1.000,
"PercentOfFinalPrice": 1.000,
"Note": "",
"Code": "",
"VisualOrder": 245,
"Id": "33"
},
"JobExpense": {
"Description": "Job Expense",
"BillingMethod": "Standard",
"RangeList": [],
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 249,
"Id": "34"
},
"Financing": {
"Description": "Financing",
"BillingMethod": "Standard",
"RangeList": [],
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 250,
"Id": "35"
},
"Bonding": {
"Description": "Bonding",
"BillingMethod": "Standard",
"RangeList": [],
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 251,
"Id": "36"
},
"FinalAdj": {
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 252,
"Id": "37"
},
"CalcAmount": 100000.00,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 100000.00,
"ModPercent": 0,
"PercentOfFinalPrice": 100,
"Note": "",
"Code": "",
"VisualOrder": 253,
"Id": "38"
},
"Tax": {
"Description": "Global Tax",
"CalcAmount": 0,
"CalcPercent": 0,
"AdjAmount": 0,
"AdjPercent": 0,
"ModAmount": 0,
"ModPercent": 0,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 254,
"Id": "39"
},
"CalcAmount": 100000.00,
"CalcPercent": null,
"AdjAmount": null,
"AdjPercent": null,
"ModAmount": 100000.00,
"ModPercent": null,
"PercentOfFinalPrice": 0,
"Note": "",
"Code": "",
"VisualOrder": 255,
"Id": "1000"
},
"BidSummaryID": "12345"
}

Get the conract list

Call the Contract List API to get a list of contracts for a Project

GET https://cloud.api.trimble.com/anywhere/changeorder/v1/contracts/{databaseToken}/{ProjectID}

This will return a list of Contracts.

Example response
[
{
"ContractID": "AaBbCc123",
"Name": "Contract A",
"Number": "Contract 1",
"Date": "2021-06-28"",
"Estimates": [
{
"contractID": 0,
"jobID": 0,
"estimateID": "string",
"name": "string"
}
],
"BaseContractAmount": 0.00,
"ChangeOrderAmount": null,
"TotalAmount": 0.00,
"COLaborHours": 0.000,
"BCLaborHours": 0.000,
"TotalLaborHours": 0.000
},
{
"ContractID": "XxYyZz456",
"Name": "Contract B",
"Number": "Contract 2",
"Date": "2021-06-28",
"Estimates": null,
"BaseContractAmount": 0.00,
"ChangeOrderAmount": null,
"TotalAmount": 0.00,
"COLaborHours": 0.000,
"BCLaborHours": 0.000,
"TotalLaborHours": 0.000
},
]

Get PCO list

Get the list of PCOs for a Contract

GET hhttps://cloud.api.trimble.com/anywhere/changeorder/v1/pcos/{databaseToken}/{contractID}

This will return a list of PCOs.

Example response
{
"pageIndex": 0,
"totalItems": 7,
"pageSize": 100,
"items": [
{
"PcoID": "AaBbCc123",
"Name": "PCO A",
"Number": "1",
"IsDeleted": false,
"BidDueDate": null,
"CreatedDate": "2021-06-28",
"ProjectStartDate": null,
"Status": "Pending",
"IsFrozen": false,
"FrozenDate": null,
"ChangeOrderNumber": null,
"ChangeOrderDate": null,
"SellingPrice": null,
"MaterialAmount": null,
"DirectLaborAmount": null,
"IndirectLaborAmount": null,
"EquipmentAmount": null,
"GeneralExpensesAmount": null,
"SubcontractsAmount": null,
"QuotesAmount": null,
"OverheadMarkupAmount": null,
"GlobalTaxAmount": null,
"TotalAmount": null,
"OverheadMarkupPct": null,
"LaborHours": null,
"Subs": null,
"Quotes": null,
"ReferenceFields": null
},
{
"PcoID": "XxYyZz456",
"Name": "PCO B",
"Number": "2",
"IsDeleted": false,
"BidDueDate": null,
"CreatedDate": "2021-06-28",
"ProjectStartDate": null,
"Status": "Pending",
"IsFrozen": false,
"FrozenDate": null,
"ChangeOrderNumber": null,
"ChangeOrderDate": null,
"SellingPrice": null,
"MaterialAmount": null,
"DirectLaborAmount": null,
"IndirectLaborAmount": null,
"EquipmentAmount": null,
"GeneralExpensesAmount": null,
"SubcontractsAmount": null,
"QuotesAmount": null,
"OverheadMarkupAmount": null,
"GlobalTaxAmount": null,
"TotalAmount": null,
"OverheadMarkupPct": null,
"LaborHours": null,
"Subs": null,
"Quotes": null,
"ReferenceFields": null
}
],
"links": {
"self": "",
"first": "",
"last": ""
}
}

Get the PCO info

Get information for a specific PCO

GET https://cloud.api.trimble.com/anywhere/changeorder/v1/pco/{databaseToken}/{PCOID}

This will return information for a specific PCO.

Example response
{
"PCOID": "AaBbCc123",
"Name": "PCO A",
"Number": "1",
"CreatedBy": "exampleresponse",
"LaborColumn": "A",
"ImperialMetric": "Imperial",
"Status": "Pending",
"Industry": "Electrical",
"ApplyMarkupOnOverhead": true,
"ApplyMarkupAndOverheadOnTax": true,
"VendorPricingPrecedence": true,
"Contract": "A",
"ChangeOrderNumber": null,
"RFP": "1",
"CODate": null,
"ApprovedChangeOrderAmount": null,
"DueDate": null,
"StartDate": null,
"EndDate": null,
"Duration": 0.0,
"TimeInterval": "Days",
"CreatedDate": "2021-06-28",
"Notes": "<div style=\"font-size:12pt;font-family:Calibri;\"></div>",
"BidSummaryName": "Default",
"BidSummaryID": "XxYyZz123",
"IsDeleted": false,
"BreakdownCategories": [
{
"ID": "xxxx",
"Name": "Area",
"Label": null
},
{
"ID": "yyyy",
"Name": "Bid Item",
"Label": null
}
],
"ReferenceFields": {}
}

Get the ContractQuoteLabels

Get list of ContractQuoteLabels for a contract

GET https://cloud.api.trimble.com/anywhere/changeorder/v1/ContractQuoteLabels/{databaseToken}/{contractID}

This will return a list of ContractQuoteLabels.

Example response
[
{
"Index": 1,
"Name": "Quote01"
},
{
"Index": 2,
"Name": "Quote02"
},
{
"Index": 3,
"Name": "Quote03"
},
{
"Index": 4,
"Name": "Quote04"
}
]

Get the ContractSubcontractLabels

Get list of ContractSubcontractLabels for a contract

GET https://cloud.api.trimble.com/anywhere/changeorder/v1/ContractSubcontractLabels/{databaseToken}/{contractID}

This will return a list of ContractSubcontractLabels.

Example response
[
{
"Index": 1,
"Name": "Subcontract01"
},
{
"Index": 2,
"Name": "Subcontract02"
},
{
"Index": 3,
"Name": "Subcontract03"
},
{
"Index": 4,
"Name": "Subcontract04"
}
]

Get the Contract Statuses

Get list of Statuses for a contract

GET https://cloud.api.trimble.com/anywhere/changeorder/v1/ContractStatuses/{databaseToken}/{contractID}

This will return a list of Contract Statuses.

Example response
[
{
"Description": "Pending",
"IncludeInCOToDate": false
},
{
"Description": "Rejected",
"IncludeInCOToDate": false
}
]