POST /rest/v2.0/companies/{company_id}/projects/{project_id}/commitment_contracts

Creates a new Commitment Contract for a given project.

Servers

Path parameters

Name Type Required Description
project_id String Yes

Unique identifier for the project.

company_id String Yes

Unique identifier for the company.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Procore-Company-Id Integer Yes

Unique company identifier associated with the Procore User Account.

Query parameters

Name Type Required Description
view String No

Specifies which view (which attributes) of the resource is going to be present in the response. The extended view includes vendor name and custom fields data, while the default view does not.

Valid values:

  • "extended"
  • "default"

Request body fields

Name Type Required Description
allow_payments Boolean No

If true, payments are allowed on the Commitment Contract; otherwise payments are not allowed. Default is driven by a project setting.

change_order_level_of_detail String No

The level of details for showing change orders on invoices attached to this contract.

Valid values:

  • "change_order_request"
  • "potential_change_order"
  • "line_item"
  • "change_order_package"
drawing_revision_ids[] Array No

Drawing Revisions to attach to the response

custom_field_%{custom_field_definition_id} No

Value of the custom field. The data type of the value passed in corresponds with the data_type of the Custom Field Definition. For a lov_entry data_type the value passed in should be the ID of one of the Custom Field Definition's LOV Entries. For a lov_entries data_type the value passed in should be an array of IDs of the Custom Field Definition's LOV Entries.

ship_to_address String No

Only applicable to Purchase Order Contracts. The address to which materials are shipped. The default will be the ship to address of the most recently created purchase order.

allow_comments Boolean No

If true, comments are allowed on the Commitment Contract; otherwise comments are not allowed. Default is driven by a project setting.

actual_completion_date String No

Only applicable to Work Order Contracts.

type String Yes

The type of the Commitment Contract.

Valid values:

  • "WorkOrderContract"
  • "PurchaseOrderContract"
allow_markups Boolean No

If true, markups are allowed on the Commitment Contract; otherwise markups are not allowed. Default is driven by a project setting.

approval_letter_date String No
contract_start_date String No

Only applicable to Work Order Contracts.

bill_recipient_ids[] Array No

IDs of users in the project directory (see the Project Users endpoint). These users must belong to the selected vendor and are the invoice contacts for submitting subcontractor invoices. To grant access to view the contract, these users must also be added as accessors.

request_for_quote_attachment_ids[] Array No

List of attachment IDs to attach. These must presently be associated with Request For Quotes (or their Quotes / Responses).

display_materials_retainage Boolean No

If true, materials retainage is displayed on the Commitment Contract; otherwise materials retainage is not displayed. Default is driven by a project setting.

vendor_id String No

The ID of the vendor for the contract. The selected invoice contacts must all belong to this vendor. When the vendor is changed, the invoice contacts are reset.

currency_exchange_rate String No

Exchange Rate from Contract Currency to Project Currency; It'll be accepted only when multicurrency phase two feature flag is enabled and user has the granular permission to edit the contract exchange rate.

allow_payment_applications Boolean No

If true, invoices are allowed on the Commitment Contract; otherwise invoices are not allowed. Default is driven by a project setting.

inclusions String No

Only applicable to Work Order Contracts. The inclusions of the Commitment Contract.

delivery_date String No

Only applicable to Purchase Order Contracts.

status String No

The Commitment Contract status.

returned_date String No
enable_ssov Boolean No

If true, the subcontractor schedule of values (SSOV) is enabled for the Commitment Contract; otherwise the SSOV is not enabled. Default is driven by a project setting.

accessor_ids[] Array No

Only applicable to private contracts. IDs of users in the project directory (see the Project Users endpoint). These users will be able to view the commitment contract.

attachment_ids[] Array No

The current attachments to the item. Values should be omitted to remove attachments. New files cannot be attached via this param. If the key is omitted, the existing attachments will remain unchanged.

show_cost_code_on_pdf Boolean No

If true, cost codes are displayed on the Commitment Contract PDF; otherwise cost codes are not displayed. Default is driven by a project setting.

issued_on_date String No
ship_via String No

Only applicable to Purchase Order Contracts. The shipping method for the Commitment Contract.

exclusions String No

Only applicable to Work Order Contracts. The exclusions of the Commitment Contract.

signature_required Boolean No

If true, a signature is required to execute the contract; otherwise no signature is required.

Default value: false

accounting_method String No

The accounting method for the contract. Default is driven by a project setting.

Valid values:

  • "unit"
  • "amount"
private Boolean No

If true, visible to admins and accessors only; otherwise visible to those with access to the commitments tool. Default based on project level setting.

Default value: true

execution_date String No
display_work_retainage Boolean No

If true, work retainage is displayed on the Commitment Contract; otherwise work retainage is not displayed. Default is driven by a project setting.

executed Boolean No

The Commitment Contract executed status.

Default value: false

payment_terms String No

Only applicable to Purchase Order Contracts. The payment terms for the Commitment Contract.

change_event_attachment_ids[] Array No

List of attachment IDs to attach. These must presently be associated with Change Events.

description String No

The Commitment Contract description.

currency_iso_code String No

Currency ISO code; It'll be accepted only when multicurrency phase two feature flag is enabled.

contract_estimated_completion_date String No

Only applicable to Work Order Contracts.

show_line_items_to_non_admins Boolean No

Only applicable to private contracts. If true, line items are visible to non-admins; otherwise visible to admins only.

Default value: false

retainage_percent String No

An "unformatted" decimal number. Specifically a number with a period as the decimal separator, without a thousands separator, and with an optional sign. It should be assumed that this number includes arbitrary precision and scale, however, the API may not store or process the number with infinite precision and scale.

allow_change_orders_ssov Boolean No

If true, the subcontractor schedule of values (SSOV) can be enabled on change orders for this Commitment Contract. When enabled, Change Order SSOV toggles become available. Default is false.

Default value: false

assignee_id String No

Only applicable to Purchase Order Contracts. The ID of the user assigned to the Commitment Contract. The user must belong to the project directory (see the Project Users endpoint).

title String No

The Commitment Contract title.

ssr_enabled Boolean No

If true, the sliding scale retention is enabled for the Commitment Contract. Default is driven by a project setting.

contract_date String No
signed_contract_received_date String No
file_version_ids[] Array No

File Versions to attach to the response

image_ids[] Array No

Images to attach to the response

number String No

The Commitment Contract number. Defaults to the project numbering sequence for the respective contract type.

letter_of_intent_date String No
upload_ids[] Array No

Uploads to attach to the response

billing_schedule_of_values_status String No

The subcontractor schedule of values (SSOV) status. Only applicable to contracts which use an SSOV.

form_ids[] Array No

Forms to attach to the response

bill_to_address String No

Only applicable to Purchase Order Contracts. The address to which invoices are sent. The default will be the bill to address of the most recently created purchase order.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.