Procore.Api.WorkforceManagementWorkforcePlanningWorkforcePlanningProjects (procore_sdk v0.3.0)

API calls for all endpoints tagged WorkforceManagementWorkforcePlanningWorkforcePlanningProjects.

Summary

Functions

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

Delete Category Delete a Category from a Project. Assignments will be moved to the default "None" category. A successful response returns the deleted Category ID.

Update Category Name Update a Category’s name within a Project. A successful response returns all Categories for the Project.

Add Subcategory to Category Add a Subcategory to a Category in a Project. A successful response returns the new Subcategory UUID.

Delete Subcategory Delete a Subcategory from a Project. Assignments will lose their subcategory. A successful response returns the deleted Subcategory UUID.

Add Category to Project Add a new Category to a Project. Subcategories can also be provided. A successful response returns the new Category UUID.

Delete a Single Project Delete a single project given a company ID and project ID. When a Project has been successfully deleted, you will receive the Project's ID back as confirmation.

Update a Single Project Updats a single project given a company ID and project ID and body params

Add Role to Project Assign a Person to a Role in a Project. A successful response returns the new Role UUID.

Remove Role from Project Remove a Person from a Role in a Project. A successful response returns the removed Role UUID.

Add Tag Instance to Project To make a Tag available to a Project, send a tag_id in the POST body. A successful response will return the newly created Tag Instance UUID.

Remove Tag Instance from Project Remove a Tag from a Project by specifying its tag_instance_id. A successful response returns the removed Tag Instance UUID.

Add Wage Override Add a Wage Override for a specific Job Title in a Project. A successful response returns the new Wage Override UUID.

Functions

Link to this function

rest_v10_workforce_planning_v2_companies_company_id_groups_group_id_projects_get(connection, procore_company_id, company_id, group_id, opts \\ [])

Get a Groups Projects Get the projects for a given company ID and group ID

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • group_id (integer()): Unique identifier for the group
  • opts (keyword): Optional parameters
    • :page (integer()): This is a 0-based index representing the page slice of the data you want to retrieve. Each page contains up to 400 items. ### 📌 Pageable Endpoints People endpoints that return multiple records support pagination. It is recommended to use this feature to prevent network timeouts from excessively large data requests. ### 📌 Response Structure A successful response will include the following properties: - possible_pages (integer) → Total number of pages available to retrieve all data. - current_page (integer) → The 0-based index of the page retrieved. - data (array) → List of records returned for the requested page (up to 400 items per page). If a page value exceeds possible_pages, the data property will return an empty array.
    • :name (String.t): Filters items by their exact name. The query performs an exact match. Example usage: /v2/companies/{company_id}/...?name=Bridge+Restoration
    • :project_number (String.t): Filters items by their exact project number. The query performs an exact match. Example usage: /v2/companies/{company_id}/...?project_number=BR-2024
    • :custom_fields_integration_name (String.t): Filter results by a Custom Field's integration_name. This allows searching based on custom-defined attributes in the system. Example usage: /v2/companies/{company_id}/...?my_custom_field=northwest
    • :created_at (Date.t): Filters items based on their creation timestamp. Accepts an ISO 8601 date string.
    • :created_before (Date.t): Filters items created on or before the specified date (inclusive). Accepts an ISO 8601 date string.
    • :created_after (Date.t): Filters items created on or after the specified date (inclusive). Accepts an ISO 8601 date string.
    • :updated_at (Date.t): Filters items based on their last updated timestamp. Accepts an ISO 8601 date string.
    • :updated_before (Date.t): Filters items updated on or before the specified date (inclusive). Accepts an ISO 8601 date string.
    • :updated_after (Date.t): Filters items updated on or after the specified date (inclusive). Accepts an ISO 8601 date string.

Returns

  • {:ok, [%RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsGet200ResponseInner{}, ...]} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_get(connection, procore_company_id, company_id, opts \\ [])

List Company Projects Get a list of all projects for a given company ID

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • opts (keyword): Optional parameters
    • :page (integer()): This is a 0-based index representing the page slice of the data you want to retrieve. Each page contains up to 400 items. ### 📌 Pageable Endpoints People endpoints that return multiple records support pagination. It is recommended to use this feature to prevent network timeouts from excessively large data requests. ### 📌 Response Structure A successful response will include the following properties: - possible_pages (integer) → Total number of pages available to retrieve all data. - current_page (integer) → The 0-based index of the page retrieved. - data (array) → List of records returned for the requested page (up to 400 items per page). If a page value exceeds possible_pages, the data property will return an empty array.
    • :name (String.t): Filters items by their exact name. The query performs an exact match. Example usage: /v2/companies/{company_id}/...?name=Bridge+Restoration
    • :project_number (String.t): Filters items by their exact project number. The query performs an exact match. Example usage: /v2/companies/{company_id}/...?project_number=BR-2024
    • :custom_fields_integration_name (String.t): Filter results by a Custom Field's integration_name. This allows searching based on custom-defined attributes in the system. Example usage: /v2/companies/{company_id}/...?my_custom_field=northwest

Returns

  • {:ok, [%RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsGet200ResponseInner{}, ...]} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_post(connection, procore_company_id, company_id, opts \\ [])

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

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsPostRequest):

Returns

  • {:ok, [%RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsPost200ResponseInner{}, ...]} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_categories_category_id_delete(connection, procore_company_id, company_id, project_id, category_id, opts \\ [])

Delete Category Delete a Category from a Project. Assignments will be moved to the default "None" category. A successful response returns the deleted Category ID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • category_id (String.t): Unique identifier for the Category.
  • opts (keyword): Optional parameters

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_categories_category_id_post(connection, procore_company_id, company_id, project_id, category_id, opts \\ [])

Update Category Name Update a Category’s name within a Project. A successful response returns all Categories for the Project.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • category_id (String.t): Unique identifier for the Category.
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdPostRequest):

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_categories_category_id_subcategories_post(connection, procore_company_id, company_id, project_id, category_id, opts \\ [])

Add Subcategory to Category Add a Subcategory to a Category in a Project. A successful response returns the new Subcategory UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • category_id (String.t): Unique identifier for the Category.
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdSubcategoriesPostRequest):

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdSubcategoriesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_categories_category_id_subcategories_subcategory_id_delete(connection, procore_company_id, company_id, project_id, category_id, subcategory_id, opts \\ [])

@spec rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_categories_category_id_subcategories_subcategory_id_delete(
  Tesla.Env.client(),
  integer(),
  integer(),
  integer(),
  String.t(),
  String.t(),
  keyword()
) ::
  {:ok,
   Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdGroupsGroupIdReportsLookAheadGet401Response.t()}
  | {:ok,
     Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdSubcategoriesPost200Response.t()}
  | {:error, Tesla.Env.t()}

Delete Subcategory Delete a Subcategory from a Project. Assignments will lose their subcategory. A successful response returns the deleted Subcategory UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • category_id (String.t): Unique identifier for the Category.
  • subcategory_id (String.t): Unique identifier for the Subcategory.
  • opts (keyword): Optional parameters

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdSubcategoriesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_categories_category_id_subcategories_subcategory_id_post(connection, procore_company_id, company_id, project_id, category_id, subcategory_id, opts \\ [])

@spec rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_categories_category_id_subcategories_subcategory_id_post(
  Tesla.Env.client(),
  integer(),
  integer(),
  integer(),
  String.t(),
  String.t(),
  keyword()
) ::
  {:ok,
   Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdGroupsGroupIdReportsLookAheadGet401Response.t()}
  | {:ok,
     Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdSubcategoriesPost200Response.t()}
  | {:error, Tesla.Env.t()}

Update Subcategory Name Update a Subcategory’s name within a Category. A successful response returns the updated Subcategory UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • category_id (String.t): Unique identifier for the Category.
  • subcategory_id (String.t): Unique identifier for the Subcategory.
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdSubcategoriesSubcategoryIdPostRequest):

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesCategoryIdSubcategoriesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_categories_post(connection, procore_company_id, company_id, project_id, opts \\ [])

Add Category to Project Add a new Category to a Project. Subcategories can also be provided. A successful response returns the new Category UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesPostRequest):

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdCategoriesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_delete(connection, procore_company_id, company_id, project_id, opts \\ [])

Delete a Single Project Delete a single project given a company ID and project ID. When a Project has been successfully deleted, you will receive the Project's ID back as confirmation.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • opts (keyword): Optional parameters

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsPost200ResponseInner.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_get(connection, procore_company_id, company_id, project_id, opts \\ [])

Get a Single Project Get a single project given a company ID and project ID

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • opts (keyword): Optional parameters

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsGet200ResponseInner.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_post(connection, procore_company_id, company_id, project_id, opts \\ [])

Update a Single Project Updats a single project given a company ID and project ID and body params

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdPostRequest):

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsGet200ResponseInner.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_roles_post(connection, procore_company_id, company_id, project_id, opts \\ [])

Add Role to Project Assign a Person to a Role in a Project. A successful response returns the new Role UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdRolesPostRequest):

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdRolesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_roles_role_id_delete(connection, procore_company_id, company_id, project_id, role_id, opts \\ [])

Remove Role from Project Remove a Person from a Role in a Project. A successful response returns the removed Role UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • role_id (String.t): Unique identifier for the Role in the Project.
  • opts (keyword): Optional parameters

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdRolesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_tags_post(connection, procore_company_id, company_id, project_id, opts \\ [])

Add Tag Instance to Project To make a Tag available to a Project, send a tag_id in the POST body. A successful response will return the newly created Tag Instance UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdTagsPostRequest):

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdTagsPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_tags_tag_instance_id_delete(connection, procore_company_id, company_id, project_id, tag_instance_id, opts \\ [])

Remove Tag Instance from Project Remove a Tag from a Project by specifying its tag_instance_id. A successful response returns the removed Tag Instance UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • tag_instance_id (integer()): Unique identifier for the tag instance
  • opts (keyword): Optional parameters

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdTagsPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_wage_overrides_post(connection, procore_company_id, company_id, project_id, opts \\ [])

Add Wage Override Add a Wage Override for a specific Job Title in a Project. A successful response returns the new Wage Override UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • opts (keyword): Optional parameters
    • :body (RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdWageOverridesPostRequest):

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdWageOverridesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure
Link to this function

rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_wage_overrides_wage_override_id_delete(connection, procore_company_id, company_id, project_id, wage_override_id, opts \\ [])

@spec rest_v10_workforce_planning_v2_companies_company_id_projects_project_id_wage_overrides_wage_override_id_delete(
  Tesla.Env.client(),
  integer(),
  integer(),
  integer(),
  String.t(),
  keyword()
) ::
  {:ok,
   Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdWageOverridesPost200Response.t()}
  | {:ok,
     Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdGroupsGroupIdReportsLookAheadGet401Response.t()}
  | {:error, Tesla.Env.t()}

Delete Wage Override Delete a Wage Override from a Project. A successful response returns the removed Wage Override UUID.

Parameters

  • connection (Procore.Connection): Connection to server
  • procore_company_id (integer()): Unique company identifier associated with the Procore User Account.
  • company_id (integer()): Unique identifier for the company. NOTE - this is a Laborchart company ID
  • project_id (integer()): Unique identifier for the project
  • wage_override_id (String.t): Unique identifier for the Wage Override.
  • opts (keyword): Optional parameters

Returns

  • {:ok, Procore.Model.RestV10WorkforcePlanningV2CompaniesCompanyIdProjectsProjectIdWageOverridesPost200Response.t} on success
  • {:error, Tesla.Env.t} on failure