POST /rest/v1.1/punch_items

Create a new Punch Item in a Project.

Uploading images

To upload images you must upload the entire payload as multipart/form-data content-type and specify each parameter as form-data together with punch_item[images][] as files.

Servers

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
run_configurable_validations Boolean No

If true, validations are run for the corresponding Configurable Field Set.

Default value: false

Request body fields

Name Type Required Description
project_id Integer Yes

Project ID to which the Punch Item belongs to

punch_item Object Yes
punch_item.description String No

Description

punch_item.distribution_member_ids[] Array No

Array of the User IDs of the Distribution Members

punch_item.cost_impact_amount Integer No

Cost impact amount

punch_item.position Integer No

Position

punch_item.cost_impact String No

Cost impact Status - yes_known, yes_unknown, no_impact, tbd, n_a

punch_item.drawing_revision_ids[] Array No

Drawing Revisions to attach to the response

punch_item.trade_id Integer No

Trade IDs

punch_item.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.

punch_item.priority String No

Punch item priority - 'low', 'medium', 'high'

punch_item.workflow_status String No

Workflow status of the Punch Item. These are more granular statuses in the punch item workflow.

Possible values:

  • "work_required"
  • "ready_to_close"
  • "ready_for_review"
  • "initiated"
  • "work_not_accepted"
  • "closed"
  • "in_dispute"
  • "not_accepted_by_creator"
  • "draft"
punch_item.reference String No

Used to create a reference point between a Punch Item within Procore and a corresponding Punch Item outside of Procore

punch_item.mt_location[] Array No

Use this for creating a new multi-tier or single-tier Location. This will be ignored if location_id is provided.

punch_item.file_version_ids[] Array No

File Versions to attach to the response

punch_item.date_initiated String No

Date created

punch_item.image_ids[] Array No

Images to attach to the response

punch_item.login_information_ids[] Array No

Array of the User IDs of the Punch Item Assignments

punch_item.due String No

Due date

punch_item.upload_ids[] Array No

Uploads to attach to the response

punch_item.status String No

Status - 'open' or 'closed'

Possible values:

  • "open"
  • "closed"
punch_item.schedule_risk String No

Assessed risk level of on-time completion

Possible values:

  • "ml_low"
  • "ml_medium"
  • "ml_high"
punch_item.punch_item_manager_id Integer No

Punch Item Manager ID

punch_item.schedule_impact String No

Schedule impact status - yes_known, yes_unknown, no_impact, tbd, n_a

punch_item.location_id Integer No

The ID of the Location of the Punch Item. location_id takes precedence over mt_location

punch_item.form_ids[] Array No

Forms to attach to the response

punch_item.name String Yes

Name

punch_item.schedule_impact_days Integer No

Schedule impact value in days

punch_item.private Boolean No

Privacy status

punch_item.final_approver_id Integer No

Punch Item Final Approver ID

punch_item.punch_item_type_id Integer No

Punch Item Type ID

punch_item.cost_code_id Integer No

ID of the cost code associated with the punch item.

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.