Project contracts

Associate a project contract and its corresponding project contract lines with a project to capture a mix of billable details and include those details into your construction project billing.

List project contracts

get/objects/construction/project-contract

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": "1",
      • "id": "BTI-01",
      • "href": "/objects/construction/project-contract/1"
      },
    • {
      • "key": "2",
      • "id": "BTI-02",
      • "href": "/objects/construction/project-contract/2"
      }
    ],
  • "ia::meta": {
    • "totalCount": 2,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a project contract

post/objects/construction/project-contract

Creates a new project contract. You must specify a unique ID when creating a project contract unless document sequencing is configured, in which case the ID is auto-generated.

SecurityOAuth2
Request
Request Body schema: application/json
required

Project contract to create

name
required
string

Project contract name.

Example: "CONTRACT-01 - NW Food Warehouse"
required
object

Reference to an active project that this contract is associated with.

key
string

Project key.

Example: "1"
id
string

Project ID.

Example: "DIM - BTI"
required
object

Reference to the customer for the project contract.

key
string

Customer key.

Example: "14"
id
string

Customer ID.

Example: "BTI"
contractDate
required
string <date>

Contract date.

Example: "2023-10-15"
id
string

Unique identifier of the project contract.

Example: "CONTRACT-01"
object
key
string

Location key

Example: "1"
id
string

Project location id

Example: "1"
description
string

Description of the project contract.

Example: "NW Food Warehouse - Entry lobby renovation"
object

Project contract type.

key
string

Project contract type key.

Example: "2"
id
string

Project contract type ID.

Example: "COM"
object

The architect contact on the project contract.

key
string

Contact key.

Example: "12"
id
string

Contact ID.

Example: "Eberhardt"
isBillable
boolean
Default: false

Set to true if the project contract is billable.

Example: true
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"
object

Calculated billing amounts.

lastApplicationNumber
string

Last billing application number.

Example: "A-123"
excludeFromWIPReporting
boolean
Default: false

Set to `true to exclude the contract from work-in-progress reports.

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"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "BTI-05",
  • "name": "Berkeley Technology Inc - Contract 05",
  • "project": {
    • "id": "DIM - BTI"
    },
  • "customer": {
    • "id": "BTI"
    },
  • "contractDate": "2023-09-30",
  • "description": "Project contract for Berkeley Technology Inc",
  • "architect": {
    • "id": "Eberhardt"
    },
  • "projectContractType": {
    • "id": "COM"
    },
  • "attachment": {
    • "id": "pc-att-2"
    },
  • "isBillable": true,
  • "scope": "Project scope only",
  • "inclusions": "Per original contract",
  • "exclusions": "Plumbing",
  • "terms": "Per original contract",
  • "schedule": {
    • "scheduledStartDate": "2023-06-15",
    • "actualStartDate": "2023-06-30",
    • "scheduledCompletionDate": "2022-11-15",
    • "revisedCompletionDate": "2023-12-15",
    • "substantialCompletionDate": "2023-09-30",
    • "actualCompletionDate": "2023-12-15",
    • "noticeToProceedDate": "2023-05-30",
    • "responseDueDate": "2023-06-05",
    • "executedOnDate": "2023-06-01",
    • "scheduleImpact": "NA"
    },
  • "internalReference": {
    • "referenceNumber": "INT-01",
    • "initiatedBy": {
      • "id": "2"
      },
    • "verbalApprovalBy": {
      • "id": "2"
      },
    • "issuedBy": {
      • "id": "123"
      },
    • "issuedOnDate": "2023-05-30",
    • "approvedBy": {
      • "id": "1"
      },
    • "approvedOnDate": "2023-10-02",
    • "signedBy": {
      • "id": "Robert"
      },
    • "signedOnDate": "2023-05-31",
    • "source": "NA",
    • "sourceReferenceNumber": "REF-01"
    },
  • "externalReference": {
    • "referenceNumber": "A23",
    • "verbalApprovalBy": {
      • "id": "Johnson"
      },
    • "approvedBy": {
      • "id": "Jagadish"
      },
    • "approvedOnDate": "2023-11-03",
    • "signedBy": {
      • "id": "Modulus Industries"
      },
    • "signedOnDate": "2023-12-01"
    }
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "BTI-01",
    • "href": "/objects/construction/project-contract/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a project contract

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

Returns detailed information for a specified project contract.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project contract.

Example: 44
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "BTI-01",
    • "name": "Berkeley Technology Inc - Contract 01",
    • "project": {
      • "id": "DIM - BTI",
      • "name": "Dimensions - Berkeley Technology Inc",
      • "key": "1",
      • "href": "/objects/projects/project/1"
      },
    • "location": {
      • "id": "1",
      • "name": "United States of America",
      • "key": "1",
      • "href": "/objects/company-config/location/1"
      },
    • "customer": {
      • "id": "BTI",
      • "name": "Berkeley Technology Inc",
      • "key": "14",
      • "href": "/objects/accounts-receivable/customer/14"
      },
    • "contractDate": "2023-05-15",
    • "description": "BTI Project - Main lobby renovation contract",
    • "projectContractType": {
      • "id": "COM",
      • "key": "2",
      • "href": "/objects/construction/project-contract-type/2"
      },
    • "architect": {
      • "id": "Eberhardt",
      • "key": "12",
      • "href": "/objects/company-config/contact/12"
      },
    • "isBillable": true,
    • "attachment": {
      • "id": "pc-att-2",
      • "key": "7",
      • "href": "/objects/company-config/attachment/7"
      },
    • "status": "active",
    • "summary": {
      • "totalPrice": "2810.65",
      • "originalPrice": "1100.00",
      • "revisionPrice": "210.65",
      • "approvedChangePrice": "1500.00",
      • "pendingChangePrice": "311.85",
      • "otherPrice": "900.00",
      • "forecastPrice": "750.00"
      },
    • "billing": {
      • "billedPrice": "0.00",
      • "totalBilledNetRetainage": "0.00",
      • "percentBilled": "0.00",
      • "percentBilledNetRetainage": "0.00",
      • "totalRetainageHeld": "0.00",
      • "totalRetainageReleased": "0.00",
      • "retainageBalance": "0.00",
      • "balanceToBill": "2810.65",
      • "balanceToBillNetRetainage": "2810.65",
      • "totalPaymentsReceived": "0.00",
      • "netTotalBilled": "2810.65",
      • "netTotalPaymentsReceived": "1000.00",
      • "subtotalBilledAsTax": "0.00",
      • "subtotalBilledAsDiscount": "0.00",
      • "subtotalBilledAsCharge": "0.00",
      • "lastApplicationNumber": "A-122"
      },
    • "excludeFromWIPReporting": false,
    • "scope": "Project scope only",
    • "inclusions": "Per original contract",
    • "exclusions": "Plumbing",
    • "terms": "Per original contract",
    • "schedule": {
      • "scheduledStartDate": "2023-06-15",
      • "actualStartDate": "2023-06-30",
      • "scheduledCompletionDate": "2022-11-15",
      • "revisedCompletionDate": "2023-12-15",
      • "substantialCompletionDate": "2023-09-30",
      • "actualCompletionDate": "2023-12-15",
      • "noticeToProceedDate": "2023-05-30",
      • "responseDueDate": "2023-06-05",
      • "executedOnDate": "2023-06-01",
      • "scheduleImpact": "NA"
      },
    • "internalReference": {
      • "referenceNumber": "INT-01",
      • "initiatedBy": {
        },
      • "verbalApprovalBy": {
        },
      • "issuedBy": {
        },
      • "issuedOnDate": "2023-05-30",
      • "approvedBy": {
        },
      • "approvedOnDate": "2023-10-02",
      • "signedBy": {
        },
      • "signedOnDate": "2023-05-31",
      • "source": "NA",
      • "sourceReferenceNumber": "REF-01"
      },
    • "externalReference": {
      • "referenceNumber": "A23",
      • "verbalApprovalBy": {
        },
      • "approvedBy": {
        },
      • "approvedOnDate": "2023-11-03",
      • "signedBy": {
        },
      • "signedOnDate": "2023-12-01"
      },
    • "audit": {
      • "modifiedDateTime": "2022-01-19T00:00:00Z",
      • "createdDateTime": "2023-12-01T00:00:00Z",
      • "modifiedBy": "1",
      • "createdBy": "1"
      },
    • "href": "/objects/construction/project-contract/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a project contract

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

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

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project contract.

Example: 44
Request Body schema: application/json
name
string

Project contract name.

Example: "CONTRACT-01 - NW Food Warehouse"
object

Reference to an active project that this contract is associated with.

key
string

Project key.

Example: "1"
id
string

Project ID.

Example: "DIM - BTI"
object
key
string

Location key

Example: "1"
id
string

Project location id

Example: "1"
object

Reference to the customer for the project contract.

key
string

Customer key.

Example: "14"
id
string

Customer ID.

Example: "BTI"
contractDate
string <date>

Contract date.

Example: "2023-10-15"
description
string

Description of the project contract.

Example: "NW Food Warehouse - Entry lobby renovation"
object

Project contract type.

key
string

Project contract type key.

Example: "2"
id
string

Project contract type ID.

Example: "COM"
object

The architect contact on the project contract.

key
string

Contact key.

Example: "12"
id
string

Contact ID.

Example: "Eberhardt"
isBillable
boolean
Default: false

Set to true if the project contract is billable.

Example: true
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"
object

Calculated billing amounts.

lastApplicationNumber
string

Last billing application number.

Example: "A-123"
excludeFromWIPReporting
boolean
Default: false

Set to `true to exclude the contract from work-in-progress reports.

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"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "name": "Berkeley Technology Inc - Contract 05[Revised]",
  • "contractDate": "2023-10-15",
  • "description": "BTI Project - Main lobby renovation contract",
  • "scope": "Project scope only [updated]",
  • "inclusions": "Per original contract [updated]",
  • "exclusions": "Plumbing [updated]",
  • "terms": "Per revised contract",
  • "schedule": {
    • "scheduledStartDate": "2023-11-15",
    • "scheduledCompletionDate": "2022-11-15"
    },
  • "internalReference": {
    • "signedBy": {
      • "id": "Robert"
      },
    • "signedOnDate": "2023-10-15"
    },
  • "projectContractType": {
    • "id": "COM"
    }
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "BTI-01",
    • "href": "/objects/construction/project-contract/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a project contract

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

Deletes a project contract.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project contract.

Example: 44
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
    }
}