POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects

Create a Project for a given company ID. When a Project is successfully created, you will be returned the new Project UUID.

Servers

Path parameters

Name Type Required Description
company_id Yes

Unique identifier for the company. This parameter accepts both formats:

  • Recommended: Procore company ID (integer) - Use this for new integrations
  • Legacy: LaborChart UUID format (uuid string) - Supported for backward compatibility

A proxy layer automatically handles both formats, but using the Procore company ID is preferred for consistency with other Procore APIs.

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
daily_start_time String No

Default time the Project's workday begins. Must follow HH:MM am/pm format. Allowed increments: 15 minutes.

roles[] Array No

Assigns specific People to Roles on the Project. Useful for defining responsibilities and for notifications.

roles[].person_id String No

UUID of the Person assigned to the Role.

roles[].job_title_id String No

UUID of the Job Title for the Role. If omitted, the Person's default Job Title is used.

city_town String No

The City/Town for the Project.

group_ids[] Array Yes

UUID references to the Groups this Project should be available to.

timezone String No

The timezone to use for scheduling outbound messages for the Project. If not provided, the Group timezone will be used.

start_date String No

Project's start date. Required if status is active.

project_type String No

Any categorical classifier you use internally to label your Projects.

categories[] Array No

Categories define buckets for resource assignments. Each Category can have nested Subcategories.

categories[].subcategories[] Array No

A nested layer of classification inside the Category.

categories[].subcategories[].name String No

Name of the Subcategory.

categories[].name String No

The name of the Category.

daily_end_time String No

Default time the Project's workday ends. Must follow HH:MM am/pm format. Allowed increments: 15 minutes.

country String No

The Country for the Project.

bid_rate Number No

The bid rate for the Project.

tag_instances[] Array No

Tags can be used as categorical labels or to define requirements for people assigned to the Project.

tag_instances[].tag_id String No

UUID reference for the Tag.

state_province String No

The State/Province for the Project.

status String Yes

Controls Project visibility and filtering. active - Project is currently in progress. pending - Project is planned but not started. inactive - Project is no longer active.

Possible values:

  • "inactive"
  • "active"
  • "pending"
est_end_date String No

Estimated end date for the Project.

name String Yes

The name of the Project.

closed_date String No

If loading already closed jobs for historical tracking, this field can be populated.

percent_complete Number No

The percentage of the Project that is complete.

customer_name String No

Name of the customer associated with the Project.

wage_overrides[] Array No

Sets an hourly wage rate for specific Job Titles on this Project.

wage_overrides[].rate Number No

Hourly wage rate for the Job Title.

wage_overrides[].job_title_id String No

UUID of the Job Title.

address_1 String No

First part of the Project's address.

address_2 String No

Second part of the Project's address (e.g., Apartment, Suite, Unit).

zipcode String No

The Zip/Postal Code for the Project.

color String No

Hexadecimal color code for the Project. Helps with categorization and visual distinction.

project_number String No

A unique identifier for the Project.

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.