PATCH /rest/v1.0/financials/markups/{id}

Modify an existing Markup with new data for specified holder. This endpoint supports the Contract and Potential Change Order tools. Access requires the user to have admin permissions for the relevant tool. Markups associated with contracts can be updated at any time. Markups on potential change orders can only be updated when the SOV (Schedule of Values) lines are in an editable state

Servers

Path parameters

Name Type Required Description
id Integer Yes

ID of the Markup

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
project_id Integer Yes

ID of the Markup's Project

holder_type String Yes

Type of the Markup's Holder

Possible values:

  • "PotentialChangeOrder"
  • "Contract"
holder_id Integer Yes

ID of the Markup's Holder

Request body fields

Name Type Required Description
markup Object Yes
markup.markup_set String No

Set of the markup.

  • Horizontal markup: Calculates the markup amount on an individual line item.
  • Vertical markup: Calculates the markup amount as a subtotal on all line items on a change order.

Contracts use 'change_orders_horizontal' and 'change_orders_vertical'.
Potential Change Orders use 'vertical' and 'horizontal'.

Possible values:

  • "change_orders_vertical"
  • "change_orders_horizontal"
  • "vertical"
  • "horizontal"
markup.percentage String No

Percentage value of the markup. The default precision is 50.

markup.name String No

Name of the markup.

markup.applies_to_all Boolean No

Indicates if the markup applies to all change management items within the holder.

Default value: false

markup.compound Object No

Details of the compound calculations for the markup.

markup.compound.selections[] Array No

Specifies which existing markups to include in the calculation when 'selective' compounding is chosen.

markup.compound.type String No

Type of calculation for the markup:

  • Basic Calculation (null): Percentage is multiplied by the line items that meet the application criteria.
  • Compounds all Above (above): Percentage is multiplied by the line items that meet the application criteria and all preceding markups in the markup table.
  • Selective Compounding (selective): Percentage is multiplied by the line items that meet the application criteria and any individually selected markups.
  • Iterative Calculation or Margin (margin): Percentage is multiplied by the line item total, including all markups.
markup.prime_line_item_id Integer No

Unique identifier for the Prime Contract Line Item associated with the markup. This ensures synchronization between the estimated value (without vertical markup) and the revenue value (with vertical markup) in the integrated ERP system. Applicable only to vertical markups on a prime contract or prime contract change order when the ERP Integrations tool (Ryvit or Sage 300 CRE) is enabled.

markup.wbs_code_id Integer No

ID of the Wbs Code the Markup percentage will be applied to on a project's budget. Default is ID of the None Wbs Code.

markup.markup_conditions[] Array No

Conditions that determine how the markup will be applied to change management items within the holder.

markup.markup_conditions[].id Integer No

Unique identifier for the markup condition. Provide this value to update an existing condition; if not provided, a new condition will be created.

markup.markup_conditions[]._destroy Boolean No

Indicates whether the markup condition should be deleted.

markup.markup_conditions[].match_type String No

Specifies whether the condition includes or excludes items.

Possible values:

  • "includes"
  • "excludes"
markup.markup_conditions[].markup_condition_items[] Array No
markup.markup_conditions[].markup_condition_items[].id Integer No

Unique identifier for the markup condition item. Provide this value to update an existing condition; if not provided, a new condition will be created.

markup.markup_conditions[].markup_condition_items[]._destroy Boolean No

Indicates whether the markup condition should be deleted.

markup.markup_conditions[].markup_condition_items[].wbs_segment_item_id Integer No

Unique identifier for the WBS Segment Item associated with the markup condition. If the match type is 'includes' and the WBS Segment is Cost Type, the markup will be applied to all change management items with the selected Cost Type.

markup.markup_conditions[].wbs_segment_id Integer No

Unique identifier for the WBS Segment associated with the markup condition. Supported segments include Cost Type and Cost Code.

markup.position Integer No

Position of the markup in the markup set of the holder. The default is the next available position, starting at 1.

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.