Procore Resource Planning API

The Resource Planning API from Procore — 54 operation(s) for resource planning.

Operations 82

GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/assignments Get Company Assignments #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/assignments/current Get Current Company Assignments #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id}/assignments Get Group Assignments #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/assignments Get Project Assignments #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/assignments Get Person Assignments #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups Get All Company Groups #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups Create a Single Group #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id} Get a Single Group #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id} Update a Single Group #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id} Delete a Single Group #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/job-titles Get all Job Titles in the Company #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/job-titles Create a Job Title #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/job-titles/{job_title_id} Get a Single Job Title #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/job-titles/{job_title_id} Update a Job Title #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/job-titles/{job_title_id} Delete a Job Title #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id}/job-titles Get all Job Titles belonging to a Group #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/job-titles/{job_title_id}/groups Make Job Title available to Group #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/job-titles/{job_title_id}/groups Remove Job Title from being available to Group #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/people Get all People belonging to a Company #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/people Create a Person #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id} Get a Single Person #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id} Update a Person #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id} Delete a Person #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/user Enable a Person to Log In #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/user Revoke a Person's Login #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/tags Add Tag Instance to Person #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/tags/{tag_instance_id} Remove Tag Instance from Person #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/groups Add Person to a Group #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/groups/{group_id} Remove a Person from a Group #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id}/groups/people Get all People belonging to a Group #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/permission-level-options Get Permission Level Options #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/custom-fields Create Custom Field #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/custom-fields Get All Custom Fields #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/custom-fields/{field_id} Get Single Custom Field #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/custom-fields/{field_id} Update Custom Field #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/custom-fields/{field_id} Delete Custom Field #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/custom-fields/{field_id}/values Add Values to Custom Field #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/custom-fields/{field_id}/values Remove Values from Custom Field #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/notification-profiles Get Resource Planning Notification Profiles #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects List Company Projects #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects Create a Project #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id} Get a Single Project #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id} Delete a Single Project #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id} Update a Single Project #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id}/projects Get a Groups Projects #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/tags Add Tag Instance to Project #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/tags/{tag_instance_id} Remove Tag Instance from Project #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/categories Add Category to Project #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/categories/{category_id} Update Category Name #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/categories/{category_id} Delete Category #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/categories/{category_id}/subcategories Add Subcategory to Category #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/categories/{category_id}/subcategories/{subcategory_id} Update Subcategory Name #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/categories/{category_id}/subcategories/{subcategory_id} Delete Subcategory #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/wage-overrides Add Wage Override #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/wage-overrides/{wage_override_id} Delete Wage Override #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/roles Add Role to Project #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/roles/{role_id} Remove Role from Project #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/groups Add Project to Group #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/groups/{group_id} Remove Project from Group #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id}/reports/look-ahead Get Look Ahead Data #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/reports/assignment-history Get Project's Assignment History Data #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/reports/assignment-history Get Person's Assignment History Data #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id}/reports/tag-action Get Tags Requiring Action Report #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/resource-requests Get All Resource Requests for a Single Project #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/projects/{project_id}/resource-requests Create a Resource Request on a Project #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/resource-requests Get All Resource Requests in a Company #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id}/resource-requests Get All Resource Requests for Projects in a Single Group #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/resource-requests/{request_id} Update a Single Resource Request #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/resource-requests/{request_id} Delete a Resource Request #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/groups/{group_id}/tags Get All Resource Planning Tag for a Group #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/tags Get All Resource Planning Tag for a Company #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/tags Create Company Tag #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/tags/{tag_id} Get a Single Resource Planning Tag #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/tags/{tag_id} Update Company Tag #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/tags/{tag_id} Delete a Resource Planning Tag #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/tags/{tag_id}/groups Make Tag from being Available to Group #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/tags/{tag_id}/groups/{group_id} Remove Tag Availablility to Group #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/time-off Get All Time Off for a Single Person #
POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/time-off Create Time Off for a Person #
GET /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/time-off/{time_off_id} Get Single Time Off Record #
PATCH /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/time-off/{time_off_id} Update a Time Off Record #
DELETE /rest/v1.0/workforce-planning/v2/companies/{company_id}/people/{person_id}/time-off/{time_off_id} Delete a Time Off Record #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/procore:procore-resource-planning-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

procore-resource-planning-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Procore REST Resource Planning API
  version: v1.0/v2.0
  description: Merged from the per-resource OpenAPI documents Procore publishes through its developer portal (https://developers.procore.com/api/v1/resource_groups). Originals are kept verbatim in openapi/_original/resources/.
  x-source: https://developers.procore.com/api/v1/resource_groups
servers:
- url: https://api.procore.com
  description: Production
security:
- bearerAuth: []
tags:


# --- truncated at 32 KB (625 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/procore/refs/heads/main/openapi/procore-resource-planning-api-openapi.yml