Project contract lines

A project contract line can be added to a project contract. Multiple lines on a contract allow for different types of billing (lump sum, progress, cost plus, T&M) for each line.

Please be aware that this object is currently "Uncertified", signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.

List project contract lines

get/objects/construction/project-contract-line

Returns up to 100 object references from the collection with a key, ID, and link for each object. This operation is mostly for use in testing; use the query service to find objects that meet certain criteria and specify the properties that are returned.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "7",
      • "id": "7",
      • "href": "/objects/construction/project-contract-line/7"
      },
    • {
      • "key": "4",
      • "id": "4",
      • "href": "/objects/construction/project-contract-line/4"
      },
    • {
      • "key": "6",
      • "id": "6",
      • "href": "/objects/construction/project-contract-line/6"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a project contract line

post/objects/construction/project-contract-line

Creates a new project contract line.

SecurityOAuth2
Request
Request Body schema: application/json

Project contract line to be created

id
required
string

Unique identifier of the project contract line

Example: "2"
object

Reference to the project contract that this line belongs to.

key
string

Project contract key

Example: "1"
id
string

Project contract ID

Example: "BTI-01"
name
string

Project contract line name

Example: "BTI-01: line 2"
object

For nesting lines, the parent project contract line of this project contract line.

key
string

Parent project contract line key

Example: "1"
id
string

Parent project contract line id

Example: "PJ-CO-145"
description
string

Description of the project contract line.

Example: "Additional services"
contractLineDate
string <date>

Project contract line date

Example: "2021-10-06"
object
key
string

Account key

Example: "144"
id
string

Account ID

Example: "1112"
retainagePercentage
string <decimal-precision-2>

Retainage percentage

Example: "10.00"
isBillable
boolean
Default: false

Set to `true if contract line is billable.

Example: true
object
externalReferenceNumber
string

External reference number

Example: "REF-01"
object
billingType
string
Default: "progressBill"

Billing type to use in project contract line.

Enum: "progressBill" "timeAndMaterial"
Example: "timeAndMaterial"
maximumBilling
string
Default: "totalPrice"

Maximum billing to use in project contract line.

Enum: "noMaximum" "specifiedAmount" "totalPrice"
Example: "specifiedAmount"
maximumBillingAmount
string <decimal-precision-2>

Maximum billing amount

Example: "10000.00"
summarizeBill
boolean
Default: false

Summarize to a single entry

Example: true
object

Pricing for the project contract line.

originalPrice
string <decimal-precision-2>

Original price

Example: "500.00"
revisionPrice
string <decimal-precision-2>

Revision price

Example: "650.00"
forecastPrice
string <decimal-precision-2>

Forecast price

Example: "750.00"
approvedChangePrice
string <decimal-precision-2>

Approved change price

Example: "650.00"
pendingChangePrice
string <decimal-precision-2>

Pending change price

Example: "100.00"
otherPrice
string <decimal-precision-2>

Other price

Example: "90.50"
totalPrice
string <decimal-precision-2>

Total price

Example: "1048.50"
object

Dimensions set for this project contract line.

object
object
key
string or null

Department key

Example: "3"
id
string or null

Department

Example: "3"
object
key
string or null

Employee key

Example: "10"
id
string or null

Employee ID

Example: "EMP-10"
object
key
string or null

Project key

Example: "2"
id
string or null

Project ID

Example: "NET-XML30-2"
object
key
string or null

Customer key

Example: "14"
id
string or null

Customer ID

Example: "BTI"
object
key
string or null

Vendor key

Example: "357"
id
string or null

Vendor ID

Example: "1605212096809"
object
key
string or null

Item key

Example: "13"
id
string or null

Item ID

Example: "Case 13"
object
key
string or null

Warehouse key

Example: "6"
id
string or null

Warehouse ID

Example: "WH01"
object
key
string or null

Class key

Example: "731"
id
string or null

Class ID

Example: "REST_CLS_001"
object
id
string or null

Task ID

Example: "1"
key
string or null

Task key

Example: "1"
object
id
string or null

Cost Type ID

Example: "2"
key
string or null

Cost Type key

Example: "2"
object
id
string or null

Asset ID

Example: "A001"
key
string or null

Asset key

Example: "1"
object
id
string or null

Contract ID

Example: "CON-0045-1"
key
string or null

Contract key

Example: "12"
object
key
string or null

Affiliate entity key.

Example: "23"
id
string or null

Affiliate entity ID.

Example: "AFF-23"
excludeFromGLBudget
boolean
Default: false

Set to true to exclude this line from the from GL budget.

Example: true
scope
string

Scope

Example: "Design"
inclusions
string

Inclusions

Example: "Original plan"
exclusions
string

Exclusions

Example: "Hardware accessories"
terms
string

Terms

Example: "Standard terms and conditions"
object
scheduledStartDate
string <date>

Scheduled start date

Example: "2021-06-15"
actualStartDate
string <date>

Actual start date

Example: "2021-06-30"
scheduledCompletionDate
string <date>

Scheduled completion date

Example: "2022-11-15'"
revisedCompletionDate
string <date>

Revised completion date

Example: "2021-12-15"
substantialCompletionDate
string <date>

Substantial completion date

Example: "2021-09-30"
actualCompletionDate
string <date>

Actual completion date

Example: "2021-12-15"
noticeToProceedDate
string <date>

Notice to proceed date

Example: "2021-05-30"
responseDueDate
string <date>

Response due date

Example: "2021-06-05"
executedOnDate
string <date>

Executed on date

Example: "2021-06-01"
scheduleImpact
string

Schedule Impact

Example: "None"
object
referenceNumber
string

Reference number

Example: "INT-01"
object

Initiated by

key
string

Employee key

Example: "2"
id
string

Employee id

Example: "dhatchet"
object

Verbal approval by

key
string

Employee key

Example: "2"
id
string

Employee id

Example: "sdye"
object

Issued by

key
string

Employee key

Example: "25"
id
string

Employee id

Example: "amarquess"
issuedOnDate
string <date>

Issued on date

Example: "2021-05-30"
object

Approved by

key
string

Employee key

Example: "1"
id
string

Employee id

Example: "treser"
approvedOnDate
string <date>

Approved on date

Example: "2021-10-02"
object

Signed by

key
string

Employee key

Example: "32"
id
string

Employee id

Example: "broberts"
signedOnDate
string <date>

Signed on date

Example: "2021-05-31"
source
string

Internal source

Example: "Internal"
sourceReferenceNumber
string

Internal source reference number

Example: "REF-INT-01"
object
referenceNumber
string

External reference number

Example: "A23"
object

Verbal approval by

key
string

Contact key

Example: "6"
id
string

Contact name

Example: "Johnson"
object

Approved by

key
string

Contact key

Example: "51"
id
string

Contact name

Example: "Jagadish"
approvedOnDate
string <date>

Approved on date

Example: "2021-11-03"
object

Signed by

key
string

Contact key

Example: "200"
id
string

Contact name

Example: "Modulus Industries"
signedOnDate
string <date>

Signed on date

Example: "2021-12-01"
object
object

Default rate table for billing this project contract line.

key
string

Rate table key

Example: "1"
id
string

Rate table ID

Example: "RT-DEFAULT"
object

Rate table to use for timesheets recorded on the line.

key
string

Rate table key

Example: "2"
id
string

Rate table ID

Example: "RT-TIMESHEET"
object

Rate table for contract purchases recorded on this line.

key
string

Rate table key

Example: "3"
id
string

Rate table ID

Example: "RT-PURCHASING"
object

Rate table for accounts payable transactions on this contract line.

key
string

Accounts Payable rate table key

Example: "4"
id
string

Rate table ID

Example: "RT-AP"
object

Rate table for general ledger transactions on this contract line.

key
string

Rate table key

Example: "5"
id
string

Rate table ID

Example: "RT-GL"
object

Rate table for credit card transactions on this contract line.

key
string

Rate table key

Example: "6"
id
string

Credit Card rate table ID

Example: "RT-CREDITCARD"
object

Rate table for employee expenses on this contract line.

key
string

Rate table key

Example: "7"
id
string

Rate table ID

Example: "RT-EMPEXPENSE"
Array of objects
Array
object

Reference to the project contract line that owns this entry.

workflowType
string
Default: "original"

Workflow type to use

Enum: "forecast" "original" "other" "revision"
Example: "revision"
object
quantity
string <decimal-precision-2>

Quantity

Example: "10.00"
externalUOM
string

External UOM

Example: "each"
unitPrice
string <decimal-precision-2>

Unit price

Example: "50.00"
price
string <decimal-precision-2>

Price

Example: "250.00"
priceMarkupPercent
string <decimal-precision-2>

Price markup percent

Example: "5.00"
priceMarkupAmount
string <decimal-precision-2>

Price markup amount

Example: "300.00"
linePrice
string <decimal-precision-2>

Line price

Example: "750.00"
memo
string

Memo

Example: "Awaiting approval"
priceEffectiveDate
string <date>

Price effective date

Example: "2023-10-21"
Array of objects

Change requests applied to this contract line.

Array
workflowType
string
Default: "none"

Workflow type to use

Enum: "approvedChange" "forecast" "none" "original" "other" "pendingChange" "revision"
Example: "revision"
object
numberOfProductionUnits
string

Number of production units, which are units that track several inputs of cost (such as for material, labor, equipment).

Example: "1200"
quantity
string <decimal-precision-2>

Quantity for the change request line.

Example: "10.00"
externalUOM
string or null

External unit of measure.

Example: "each"
unitCost
string <decimal-precision-2>

Unit cost for the change request line.

Example: "50.00"
cost
string <decimal-precision-2>

Total cost for the change request line.

Example: "250.00"
unitPrice
string <decimal-precision-2>

Unit price for the change request line.

Example: "50.00"
price
string <decimal-precision-2>

Total price for the change request line.

Example: "250.00"
priceMarkupPercent
string <decimal-precision-2>

Price markup percent for the change request line.

Example: "5.00"
priceMarkupAmount
string <decimal-precision-2>

Price markup amount for the change request line.

Example: "300.00"
memo
string

Memo for the change request line.

Example: "Awaiting approval"
object

Reference to the General Ledger account associated with the change request line.

object

Reference to the project contract affected by this change request line.

object

Reference to the specific project contract line that is affected by this change request line.

object

Supporting document ID.

key
string

Attachment key

Example: "6"
id
string

Attachment id

Example: "att-1"
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "projectContract": {
    • "key": "5"
    },
  • "id": "002",
  • "name": "line 2",
  • "description": "Contract:BTI-05 - Line 2",
  • "contractLineDate": "2023-10-05",
  • "account": {
    • "key": "26"
    },
  • "billing": {
    • "billingType": "progressBill",
    • "maximumBilling": "totalPrice",
    • "summarizeBill": false
    },
  • "status": "active",
  • "dimensions": {
    • "project": {
      • "key": "11"
      },
    • "item": {
      • "key": "13"
      }
    },
  • "scope": "Initial survey",
  • "internalReference": {
    • "referenceNumber": "Ref-BTI-05-004",
    • "signedBy": {
      • "key": "1"
      }
    },
  • "isBillable": true
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "7",
    • "id": "7",
    • "href": "/objects/construction/project-contract-line/7"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a project contract line

get/objects/construction/project-contract-line/{key}

Returns detailed information for a specified project contract line.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project contract line.

Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "4",
    • "id": "003",
    • "projectContract": {
      • "key": "1",
      • "id": "BTI-01",
      • "name": "Berkeley Technology Inc - Contract 01[Revised]",
      • "href": "/objects/construction/project-contract/1"
      },
    • "name": "BTI-01: line 3",
    • "parent": {
      • "key": "2",
      • "id": "002",
      • "name": "line 2",
      • "href": "/objects/construction/project-contract-line/2"
      },
    • "description": "additional services",
    • "contractLineDate": "2023-10-05",
    • "glAccount": {
      • "key": "207",
      • "id": "5001",
      • "name": "Construction",
      • "href": "/objects/general-ledger/account/207"
      },
    • "retainagePercentage": "0.00",
    • "isBillable": true,
    • "billingSetup": {
      • "billingType": "progressBill",
      • "maximumBilling": "totalPrice",
      • "maximumBillingAmount": "0.00",
      • "summarizeBill": false
      },
    • "billing": {
      • "billedPrice": "2810.65",
      • "billedNetRetainage": "2810.65",
      • "percentBilled": "50.00",
      • "percentBilledNetRetainage": "50.00",
      • "retainageHeld": "0.00",
      • "retainageReleased": "0.00",
      • "retainageBalance": "0.00",
      • "paymentsReceived": "1000.00",
      • "previouslyAppliedPrice": "0.00"
      },
    • "summary": {
      • "originalPrice": "0.00",
      • "revisionPrice": "0.00",
      • "forecastPrice": "0.00",
      • "approvedChangePrice": "0.00",
      • "pendingChangePrice": "210.65",
      • "otherPrice": "0.00",
      • "totalPrice": "0.00"
      },
    • "dimensions": {
      • "location": {
        },
      • "customer": {
        },
      • "department": {
        },
      • "project": {
        },
      • "vendor": {
        },
      • "employee": {
        },
      • "item": {
        },
      • "class": {
        },
      • "excludeFromGLBudget": false,
      • "scope": "Initial survey",
      • "inclusions": "NA",
      • "exclusions": "NA",
      • "terms": "Standard",
      • "schedule": {
        },
      • "internalReference": {
        },
      • "externalReference": {
        }
      },
    • "attachment": {
      • "id": "pc-att-1",
      • "key": "6",
      • "href": "/objects/company-config/attachment/6"
      },
    • "status": "active",
    • "audit": {
      • "createdDateTime": "2023-12-07T21:26:38Z",
      • "modifiedDateTime": "2023-12-18T00:08:31Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "rateTables": {
      • "default": {
        },
      • "timesheet": {
        },
      • "purchasing": {
        },
      • "ap": {
        },
      • "gl": {
        },
      • "creditCard": {
        },
      • "employeeExpense": {
        }
      },
    • "projectContractLineEntries": [
      • {
        }
      ],
    • "changeRequestEntries": [
      • {
        }
      ],
    • "href": "/objects/construction/project-contract-line/4"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a project contract line

patch/objects/construction/project-contract-line/{key}

Updates an existing project contract line by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project contract line.

Request Body schema: application/json
object

Reference to the project contract that this line belongs to.

key
string

Project contract key

Example: "1"
id
string

Project contract ID

Example: "BTI-01"
name
string

Project contract line name

Example: "BTI-01: line 2"
object

For nesting lines, the parent project contract line of this project contract line.

key
string

Parent project contract line key

Example: "1"
id
string

Parent project contract line id

Example: "PJ-CO-145"
description
string

Description of the project contract line.

Example: "Additional services"
contractLineDate
string <date>

Project contract line date

Example: "2021-10-06"
object
key
string

Account key

Example: "144"
id
string

Account ID

Example: "1112"
retainagePercentage
string <decimal-precision-2>

Retainage percentage

Example: "10.00"
isBillable
boolean
Default: false

Set to `true if contract line is billable.

Example: true
object
externalReferenceNumber
string

External reference number

Example: "REF-01"
object
billingType
string
Default: "progressBill"

Billing type to use in project contract line.

Enum: "progressBill" "timeAndMaterial"
Example: "timeAndMaterial"
maximumBilling
string
Default: "totalPrice"

Maximum billing to use in project contract line.

Enum: "noMaximum" "specifiedAmount" "totalPrice"
Example: "specifiedAmount"
maximumBillingAmount
string <decimal-precision-2>

Maximum billing amount

Example: "10000.00"
summarizeBill
boolean
Default: false

Summarize to a single entry

Example: true
object

Pricing for the project contract line.

originalPrice
string <decimal-precision-2>

Original price

Example: "500.00"
revisionPrice
string <decimal-precision-2>

Revision price

Example: "650.00"
forecastPrice
string <decimal-precision-2>

Forecast price

Example: "750.00"
approvedChangePrice
string <decimal-precision-2>

Approved change price

Example: "650.00"
pendingChangePrice
string <decimal-precision-2>

Pending change price

Example: "100.00"
otherPrice
string <decimal-precision-2>

Other price

Example: "90.50"
totalPrice
string <decimal-precision-2>

Total price

Example: "1048.50"
object

Dimensions set for this project contract line.

object
object
key
string or null

Department key

Example: "3"
id
string or null

Department

Example: "3"
object
key
string or null

Employee key

Example: "10"
id
string or null

Employee ID

Example: "EMP-10"
object
key
string or null

Project key

Example: "2"
id
string or null

Project ID

Example: "NET-XML30-2"
object
key
string or null

Customer key

Example: "14"
id
string or null

Customer ID

Example: "BTI"
object
key
string or null

Vendor key

Example: "357"
id
string or null

Vendor ID

Example: "1605212096809"
object
key
string or null

Item key

Example: "13"
id
string or null

Item ID

Example: "Case 13"
object
key
string or null

Warehouse key

Example: "6"
id
string or null

Warehouse ID

Example: "WH01"
object
key
string or null

Class key

Example: "731"
id
string or null

Class ID

Example: "REST_CLS_001"
object
id
string or null

Task ID

Example: "1"
key
string or null

Task key

Example: "1"
object
id
string or null

Cost Type ID

Example: "2"
key
string or null

Cost Type key

Example: "2"
object
id
string or null

Asset ID

Example: "A001"
key
string or null

Asset key

Example: "1"
object
id
string or null

Contract ID

Example: "CON-0045-1"
key
string or null

Contract key

Example: "12"
object
key
string or null

Affiliate entity key.

Example: "23"
id
string or null

Affiliate entity ID.

Example: "AFF-23"
excludeFromGLBudget
boolean
Default: false

Set to true to exclude this line from the from GL budget.

Example: true
scope
string

Scope

Example: "Design"
inclusions
string

Inclusions

Example: "Original plan"
exclusions
string

Exclusions

Example: "Hardware accessories"
terms
string

Terms

Example: "Standard terms and conditions"
object
scheduledStartDate
string <date>

Scheduled start date

Example: "2021-06-15"
actualStartDate
string <date>

Actual start date

Example: "2021-06-30"
scheduledCompletionDate
string <date>

Scheduled completion date

Example: "2022-11-15'"
revisedCompletionDate
string <date>

Revised completion date

Example: "2021-12-15"
substantialCompletionDate
string <date>

Substantial completion date

Example: "2021-09-30"
actualCompletionDate
string <date>

Actual completion date

Example: "2021-12-15"
noticeToProceedDate
string <date>

Notice to proceed date

Example: "2021-05-30"
responseDueDate
string <date>

Response due date

Example: "2021-06-05"
executedOnDate
string <date>

Executed on date

Example: "2021-06-01"
scheduleImpact
string

Schedule Impact

Example: "None"
object
referenceNumber
string

Reference number

Example: "INT-01"
object

Initiated by

key
string

Employee key

Example: "2"
id
string

Employee id

Example: "dhatchet"
object

Verbal approval by

key
string

Employee key

Example: "2"
id
string

Employee id

Example: "sdye"
object

Issued by

key
string

Employee key

Example: "25"
id
string

Employee id

Example: "amarquess"
issuedOnDate
string <date>

Issued on date

Example: "2021-05-30"
object

Approved by

key
string

Employee key

Example: "1"
id
string

Employee id

Example: "treser"
approvedOnDate
string <date>

Approved on date

Example: "2021-10-02"
object

Signed by

key
string

Employee key

Example: "32"
id
string

Employee id

Example: "broberts"
signedOnDate
string <date>

Signed on date

Example: "2021-05-31"
source
string

Internal source

Example: "Internal"
sourceReferenceNumber
string

Internal source reference number

Example: "REF-INT-01"
object
referenceNumber
string

External reference number

Example: "A23"
object

Verbal approval by

key
string

Contact key

Example: "6"
id
string

Contact name

Example: "Johnson"
object

Approved by

key
string

Contact key

Example: "51"
id
string

Contact name

Example: "Jagadish"
approvedOnDate
string <date>

Approved on date

Example: "2021-11-03"
object

Signed by

key
string

Contact key

Example: "200"
id
string

Contact name

Example: "Modulus Industries"
signedOnDate
string <date>

Signed on date

Example: "2021-12-01"
object
object

Default rate table for billing this project contract line.

key
string

Rate table key

Example: "1"
id
string

Rate table ID

Example: "RT-DEFAULT"
object

Rate table to use for timesheets recorded on the line.

key
string

Rate table key

Example: "2"
id
string

Rate table ID

Example: "RT-TIMESHEET"
object

Rate table for contract purchases recorded on this line.

key
string

Rate table key

Example: "3"
id
string

Rate table ID

Example: "RT-PURCHASING"
object

Rate table for accounts payable transactions on this contract line.

key
string

Accounts Payable rate table key

Example: "4"
id
string

Rate table ID

Example: "RT-AP"
object

Rate table for general ledger transactions on this contract line.

key
string

Rate table key

Example: "5"
id
string

Rate table ID

Example: "RT-GL"
object

Rate table for credit card transactions on this contract line.

key
string

Rate table key

Example: "6"
id
string

Credit Card rate table ID

Example: "RT-CREDITCARD"
object

Rate table for employee expenses on this contract line.

key
string

Rate table key

Example: "7"
id
string

Rate table ID

Example: "RT-EMPEXPENSE"
Array of objects
Array
object

Reference to the project contract line that owns this entry.

workflowType
string
Default: "original"

Workflow type to use

Enum: "forecast" "original" "other" "revision"
Example: "revision"
object
quantity
string <decimal-precision-2>

Quantity

Example: "10.00"
externalUOM
string

External UOM

Example: "each"
unitPrice
string <decimal-precision-2>

Unit price

Example: "50.00"
price
string <decimal-precision-2>

Price

Example: "250.00"
priceMarkupPercent
string <decimal-precision-2>

Price markup percent

Example: "5.00"
priceMarkupAmount
string <decimal-precision-2>

Price markup amount

Example: "300.00"
linePrice
string <decimal-precision-2>

Line price

Example: "750.00"
memo
string

Memo

Example: "Awaiting approval"
priceEffectiveDate
string <date>

Price effective date

Example: "2023-10-21"
Array of objects

Change requests applied to this contract line.

Array
workflowType
string
Default: "none"

Workflow type to use

Enum: "approvedChange" "forecast" "none" "original" "other" "pendingChange" "revision"
Example: "revision"
object
numberOfProductionUnits
string

Number of production units, which are units that track several inputs of cost (such as for material, labor, equipment).

Example: "1200"
quantity
string <decimal-precision-2>

Quantity for the change request line.

Example: "10.00"
externalUOM
string or null

External unit of measure.

Example: "each"
unitCost
string <decimal-precision-2>

Unit cost for the change request line.

Example: "50.00"
cost
string <decimal-precision-2>

Total cost for the change request line.

Example: "250.00"
unitPrice
string <decimal-precision-2>

Unit price for the change request line.

Example: "50.00"
price
string <decimal-precision-2>

Total price for the change request line.

Example: "250.00"
priceMarkupPercent
string <decimal-precision-2>

Price markup percent for the change request line.

Example: "5.00"
priceMarkupAmount
string <decimal-precision-2>

Price markup amount for the change request line.

Example: "300.00"
memo
string

Memo for the change request line.

Example: "Awaiting approval"
object

Reference to the General Ledger account associated with the change request line.

object

Reference to the project contract affected by this change request line.

object

Reference to the specific project contract line that is affected by this change request line.

object

Supporting document ID.

key
string

Attachment key

Example: "6"
id
string

Attachment id

Example: "att-1"
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "name": "BTI-01: line 1",
  • "description": "additional services",
  • "dimensions": {
    • "vendor": {
      • "key": "24"
      },
    • "department": {
      • "key": "3"
      },
    • "employee": {
      • "key": "1"
      },
    • "class": {
      • "key": "4"
      },
    • "item": {
      • "key": "15"
      }
    },
  • "projectContractLineEntries": [
    • {
      • "key": "1",
      • "workflowType": "original",
      • "dimensions": {
        },
      • "quantity": "2.5",
      • "externalUOM": "box",
      • "unitPrice": "95.75",
      • "priceMarkupPercent": "10",
      • "price": "191.50",
      • "priceMarkupAmount": "19.15",
      • "linePrice": "210.65",
      • "memo": "updated markup",
      • "priceEffectiveDate": "2023-10-21"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "003",
    • "href": "/objects/construction/project-contract-line/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a project contract line

delete/objects/construction/project-contract-line/{key}

Deletes a project contract line.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project contract line.

Responses
204

No Content

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}

Query project contract lines

post/services/core/query

Queries an object for filtered data.

SecurityOAuth2
Request
Request Body schema: application/json
object
string

Object type to query, in the form <application-name>/<object name>. For custom objects use platform-apps/nsp::<object-name>.

Example: "construction/project-contract-line"
fields
Array of strings

List of fields to include in the response. Can be any combination of these:

  • The name of a field in the object that you are querying, such as id.

  • The name of a field in a related object, using the form relatedObjectName.fieldName, such as vendor.id.

  • The result of an aggregate function run against the values in the returned objects. Use the form function:fieldName, such as min:startDate to return the earliest starting date. Valid function names are:

    • count
    • avg
    • sum
    • min
    • max
  • The result of an aggregate function run against the values in related objects, using the form function:relatedObjectName.fieldName, such as max:vendor.creditLimit. The same functions are supported as for object fields.

Example: ["key","id","max:vendor.creditLimit"]
Array of equal (object) or not equal (object) or less than (object) or (less than or equal (object)) or greater than (object) or (greater than or equal (object)) or in (object) or not in (object) or between (object) or not between (object) or contains (object) or does not contain (object) or starts with (object) or does not start with (object) or ends with (object) or does not end with (object)

Filter conditions to select the objects to return based on their field values. You use operators and conditions to build your filter, such as {"$eq":{"status":"active"}} to select objects in which status is equal to "active".

Example: [{"$eq":{"status":"active"}},{"$gt":{"totalDue":"1000"}},{"$contains":{"name":"Acme"}}]
Array
Any of:

Field value must be equal to this specified value.

For date fields, you can use these macro values that are relative to the current date or the asOfDate in filterParameters, if set:

  • today
  • currentWeek
  • currentMonth
  • currentQuarter
  • currentYear
  • yesterday
  • lastWeek
  • priorMonth
  • priorQuarter
  • priorYear

These are most useful for queries that you want to save and use repeatedly, such as for views or reports. Just change the asOfDate each time to retrieve the same data set for different time periods.

For example, {"eq":{"postingDate":"priorYear"}}.

object

The field name and value to be compared with object values.

Example: {"status":"active"}
filterExpression
string
Default: "and"

Logical operators to apply when there are multiple filter conditions. The conditions in the filters array are implicitly numbered starting at 1. Supports and, or, and grouping with parentheses.

Shortcuts:

  • and by itself means that all conditions must be true.
  • or by itself means that at least one condition must be true.
Example: "(1 and 2) or 3"
object

Pre-defined filter options.

asOfDate
string <date>

The "as of" date to use with any relative date comparisons in filters. For example, if asOfDate is set to "2022-04-01" then priorMonth will be "03".

The current date is used if asOfDate is not set.

Example: "2022-04-01"
includeHierarchyFields
boolean
Default: false

Set to true to include hierarchical structure information with each object in the response.

Example: false
caseSensitiveComparison
boolean
Default: true

Queries are case-sensitive by default. Set to false to ignore case in a query.

Example: true
includePrivate
boolean
Default: false

By default, in a multi-entity company, queries from the top-level entity do not access data in private entities. Set includePrivate to true if you want to query data in private entities.

Example: false
Array of objects

Set the order of the results by specifying field names to sort by and whether they should be in ascending or descending order.

Example: [{"totalDue":"asc"},{"lastPaymentMadeDate":"desc"}]
Array
property name*
additional property
string
Enum: "asc" "desc"
start
integer

First record of the result set to include in the response.

Example: 1
size
integer

Number of records to include in the response.

Example: 100
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "object": "construction/project-contract-line",
  • "filters": [
    • {
      • "$eq": {
        }
      },
    • {
      • "$gte": {
        }
      }
    ],
  • "fields": [
    • "key",
    • "id",
    • "name",
    • "description",
    • "contractLineDate",
    • "billing.billedPrice",
    • "billing.paymentsReceived",
    • "billing.maximumBilling",
    • "summary.totalPrice",
    • "projectContract.id",
    • "projectContract.name",
    • "projectContract.href"
    ],
  • "orderBy": [
    • {
      • "contractLineDate": "asc"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "2",
      • "id": "2",
      • "name": "BTI-01: line 2",
      • "description": "Additional services",
      • "contractLineDate": "2023-02-15",
      • "billing": {
        },
      • "summary": {
        },
      • "projectContract": {
        }
      },
    • {
      • "key": "3",
      • "id": "3",
      • "name": "BTI-02: line 1",
      • "description": "Main project work",
      • "contractLineDate": "2023-03-10",
      • "billing": {
        },
      • "summary": {
        },
      • "projectContract": {
        }
      },
    • {
      • "key": "4",
      • "id": "4",
      • "name": "BTI-03: line 3",
      • "description": "Final phase work",
      • "contractLineDate": "2023-04-05",
      • "billing": {
        },
      • "summary": {
        },
      • "projectContract": {
        }
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}