PATCH /rest/v1.0/projects/{project_id}/direct_costs/sync

This endpoint creates or updates a batch of Direct Cost Items. See Using Sync Actions for additional information.

Note: In addition to the values documented below for the direct_cost_type attribute, an enum value of subcontractor_invoice is also allowed. To enable this feature in the Procore web application, contact apisupport@procore.com. This action does not support concurrent requests. If there is an attempt to update a Direct Cost that is being updated or deleted by another request, a 409 Conflict error will be returned.

Servers

Path parameters

Name Type Required Description
project_id Integer Yes

Unique identifier for the project.

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.

Request body fields

Name Type Required Description
updates[] Array Yes

An array of Direct Cost Items

updates[].vendor_id Integer No

Vendor ID

updates[].currency_exchange_rate Number No

Currency Exchange Rate. Only validated and persisted when object level multicurrency is enabled.

updates[].description String No

Description

updates[].payment_date String No

Payment Date

updates[].direct_cost_type String No

Type. Note: Can only be set when creating a direct cost item.

Possible values:

  • "payroll"
  • "expense"
  • "invoice"
updates[].currency_iso_code String No

Currency ISO Code. Only validated and persisted when object level multicurrency is enabled.

updates[].status String No

Status

Possible values:

  • "approved"
  • "pending"
  • "revise_and_resubmit"
  • "draft"
updates[].origin_data String No

Origin Data

updates[].terms String No

The agreed upon Terms for the date of payment

updates[].id Integer No

ID

updates[].invoice_number String No

Unique identifier for a Direct Cost Item of type invoice

updates[].origin_id String No

Origin ID

updates[].received_date String No

Received Date

updates[].direct_cost_date String No

Date

updates[].employee_id Integer No

Employee ID

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.