Skip to main content
Procore

MuleSoft - User Manual

This user manual provides step-by-step instructions for implementing and using the Procore connector. The Procore connector for MuleSoft enables seamless integration between MuleSoft applications and Procore’s construction project management platform. This connector provides a comprehensive set of operations for creating, managing, and interacting with construction projects through Procore’s REST API.

What is Procore?

Procore is a leading construction project management platform that helps construction professionals manage projects, resources, and financials from planning to closeout. The platform provides tools for project management, quality and safety, financial management, and field productivity.

Key Features

  • OAuth 2.0 Authentication: Secure connection to Procore API using OAuth 2.0 authorization code flow.
  • Project Management: Create and update construction projects with comprehensive project details.
  • Company-Specific Operations: All operations support company-specific contexts through Procore Company ID.
  • Advanced Error Handling: Robust error handling with detailed logging and proper exception management.
  • Geographic Support: Full support for latitude, longitude, and geographic information.
  • Custom Fields: Support for custom fields and metadata.
  • Cost Code Integration: Standard cost code management and copying.

System Requirements

Component Version
Mule Runtime 4.9.6 or higher
Java 17
Anypoint Studio 7.x or higher
Procore API v1.0

Installation and Setup

Prerequisites

Before you can install the Procore Connector, ensure you have the following:

  • MuleSoft Anypoint Studio 7.x or higher installed.
  • Mule Runtime 4.9.6 or higher.
  • Java 17 or higher.
  • Procore developer account with API access.
  • OAuth 2.0 credentials from Procore.

Install the Connector

Add Maven Dependency

Add the Procore connector dependency to your project’s pom.xml

<dependency>
 <groupId>com.procore.integrations</groupId>
 <artifactId>procore</artifactId>
 <version>1.0.0</version>
 <classifier>mule-plugin</classifier>
</dependency>

Configure Properties

Create a properties file (src/main/resources/properties/dev.properties) with your configuration:

# HTTP Listener Configuration
http.listener.host=0.0.0.0
http.listener.port=8081

# Procore OAuth Configuration
procore.config.oauth.consumer_key=your-consumer-key
procore.config.oauth.consumer_secret=your-consumer-secret
procore.config.oauth.callback_path=/mule/callback
procore.config.oauth.authorize_path=/authorize-procore
procore.config.oauth.external_callback_path=http://localhost:8081/mule/callback
 Note
Replace your-consumer-key and your-consumer-secret with your actual Procore OAuth credentials.

Configuration

Basic Configuration

The Procore Connector requires configuration for both the HTTP listener and OAuth authentication.

HTTP Listener Configuration

<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
 <http:listener-connection host="${http.listener.host}" port="${http.listener.port}"
/>
</http:listener-config>

Procore Connector Configuration

 <procore:config name="Procore_Config" doc:name="Procore Config" doc:id="8c4f73ce-b817-
4f65-8eae-c6d04dbd53b4">
 <procore:connection >
 <procore:oauth-authorization-code
 consumerKey="${procore.config.oauth.consumer_key}"
 consumerSecret="${procore.config.oauth.consumer_secret}"
 />
 <procore:oauth-callback-config
 listenerConfig="HTTP_Listener_config"
 callbackPath="${procore.config.oauth.callback_path}"
 authorizePath="${procore.config.oauth.authorize_path}"
 externalCallbackUrl="${procore.config.oauth.external_callback_path}"
 />
 </procore:connection>
</procore:config>
 Note
The OAuth configuration enables secure authentication with Procore’s API using the authorization code flow.

Environment-Specific Configuration

Create separate property files for different environments:

Development Environment

http.listener.host=0.0.0.0
http.listener.port=8081
procore.config.oauth.external_callback_path=http://localhost:8081/mule/callback

Staging Environment

http.listener.host=0.0.0.0
http.listener.port=8081
procore.config.oauth.external_callback_path=https://staging.yourdomain.com/mule/callback

Production Environment

http.listener.host=0.0.0.0
http.listener.port=8081
procore.config.oauth.external_callback_path=https://yourdomain.com/mule/callback

Operations

Create Project Operation

The Create Project operation allows you to create new construction projects in Procore.

Parameters

Basic Information
PARAMETER TYPE REQUIRED DESCRIPTION
Company ID String Yes The Procore Company ID for the project.
Name String Yes The name of the project.
Code String No The project code. For example, 'NOB-2024'.
Description String No A description of the project.
Active Boolean No Indicates whether the project is active (default: true).
Project Number String No The project number. For example, 'A-2'.
Accounting Project Number String No The accounting project number.
Store Number String No The project store number.
Designated Market Area String No The market area designated for the project.
Location Information
PARAMETER TYPE REQUIRED DESCRIPTION
Address String No The project address.
City String No The city where the project is located.
State Code String No The state code (ISO-3166 Alpha-2 format). For example, 'CA' or 'NY'.
Country Code String No The country code (ISO-3166 Alpha-2 format, default: US).
ZIP String No The ZIP/postal code.
County String No The county where the project is located.
Latitude String No The latitude coordinate of the project.
Longitude String No The longitude coordinate of the project.
Time Zone String No The timezone where the project is located. For example, 'America/Los_Angeles'.
Timeline Information
PARAMETER TYPE REQUIRED DESCRIPTION
Start Date String No The date that the contract for the project is signed (YYYY-MM-DD).
Completion Date String No The date that all parties agree that the project meets substantial completion.
Warranty Start Date String No The warranty start date of the project.
Warranty End Date String No The warranty end date of the project.
Estimated Start Date String No The estimated start date of the project.
Estimated Completion Date String No The estimated completion date of the project.
Override Start Date String No Custom start date displayed on the Portfolio page.
Override Start Date Check Boolean No Enable use of override_start_date as Actual Start Date.
Override End Date String No Custom end date displayed on the Portfolio page.
Override End Date Check Boolean No Enable use of override_end_date as Projected Finish Date.
Financial Information
PARAMETER TYPE REQUIRED DESCRIPTION
Total Value Double No The total amount of construction work performed, planned, or put in place.
Estimated Value Double No The estimated value of the project.
Square Feet Double No The total square footage of the project.
Project Classification
PARAMETER TYPE REQUIRED DESCRIPTION
Project Type ID String No The project type identifier.
Project Stage ID String No The project stage identifier.
Project Bid Type ID String No The project bid type identifier.
Project Owner Type ID String No The project owner type identifier.
Project Region ID String No The project region identifier.
Project Template ID String No The project template identifier for standardization.
Sector String No The sector of a project. For example, 'Commercial'.
Work Scope String No The scope of work for a project. For example, 'New Construction'.
Delivery Method String No The delivery method of a project. For example, 'Design-Build'.
Organizational Structure
PARAMETER TYPE REQUIRED DESCRIPTION
Office ID String No The project office identifier.
Program ID String No The project program identifier.
Department IDs List<String> No The department IDs associated with the project.
Parent Job ID String No The project’s parent job identifier.
Contact and Communication
PARAMETER TYPE REQUIRED DESCRIPTION
Phone String No The telephone number of the project.
Public Notes String No The public notes for the project.
Flag String No The flag of the project. For example, 'URGENT'.
Integration and Origin
PARAMETER TYPE REQUIRED DESCRIPTION
ERP Integrated Boolean No Indicates whether the project will be ERP-integrated.
Origin ID String No External third-party identifier for the project.
Origin Data String No External third-party data string associated with the project.
Origin Code String No External third-party code associated with the project.
Cost Code Configuration
PARAMETER TYPE REQUIRED DESCRIPTION
Enable Copy of Standard Cost Codes Boolean No Enable copying default standard cost codes during creation (default: false).
Additional Settings
PARAMETER TYPE REQUIRED DESCRIPTION
Locale String No The locale for the project. For example, 'en-US'.
Image ID String No The image identifier of the project.

Example Usage

<procore:create-project
 doc:name="Create Project"
 doc:id="a381945f-95c0-480e-87ed-01528b64e818"
 config-ref="Procore_Config"
 companyId="#[payload.company_id]"
 name="#[payload.name]"
 address="#[payload.address]"
 city="#[payload.city]"
 stateCode="#[payload.state_code]"
 countryCode="#[payload.country_code]"
 zip="#[payload.zip]"
 latitude="#[payload.latitude]"
 longitude="#[payload.longitude]"
 startDate="#[payload.start_date]"
 completionDate="#[payload.completion_date]"
 warrantyStartDate="#[payload.warranty_start_date]"
 warrantyEndDate="#[payload.warranty_end_date]"
 code="#[payload.code]"
 description="#[payload.description]"
 totalValue="#[payload.total_value]"
 estimatedValue="#[payload.estimated_value]"
 estimatedStartDate="#[payload.estimated_start_date]"
 estimatedCompletionDate="#[payload.estimated_completion_date]"
 squareFeet="#[payload.square_feet]"
 phone="#[payload.phone]"
 projectNumber="#[payload.project_number]"
 storeNumber="#[payload.store_number]"
 accountingProjectNumber="#[payload.accounting_project_number]"
 locale="#[payload.locale]"
 timeZone="#[payload.time_zone]"
 officeId="#[payload.office_id]"
 parentJobId="#[payload.parent_job_id]"
 programId="#[payload.program_id]"
 projectStageId="#[payload.project_stage_id]"
 projectBidTypeId="#[payload.project_bid_type_id]"
 projectTypeId="#[payload.project_type_id]"
 projectOwnerTypeId="#[payload.project_owner_type_id]"
 projectRegionId="#[payload.project_region_id]"
 projectTemplateId="#[payload.project_template_id]"
 imageId="#[payload.image_id]"
 flag="#[payload.flag]"
 publicNotes="#[payload.public_notes]"
 departmentIds="#[payload.department_ids]"
 originId="#[payload.origin_id]"
 originData="#[payload.origin_data]"
 designatedMarketArea="#[payload.designated_market_area]"
 sector="#[payload.sector]"
 workScope="#[payload.work_scope]"
 deliveryMethod="#[payload.delivery_method]"
 active="#[payload.active]"
 erpIntegrated="#[payload.erp_integrated]"
 enableCopyOfStandardCostCodes="#[payload.enable_copy_of_standard_cost_codes]"
 originCode="#[payload.origin_code]"
 overrideStartDate="#[payload.override_start_date]"
 overrideStartDateCheck="#[payload.override_start_date_check]"
 overrideEndDate="#[payload.override_end_date]"
 overrideEndDateCheck="#[payload.override_end_date_check]"
/>

Sample Request

{
 "company_id": "562949953437078",
 "name": "MuleTest Cloud 9 - 31",
 "address": "123 Main St",
 "city": "Anytown",
 "code": "P123",
 "country_code": "US",
 "description": "This is mule test project",
 "start_date": "2025-01-01",
 "completion_date": "2025-12-31",
 "total_value": "1000000",
 "warranty_start_date": "2025-01-01",
 "warranty_end_date": "2026-01-01",
 "flag": "1",
 "phone": "123-456-7890",
 "project_number": "P3423",
 "public_notes": "Public Notes",
 "project_stage_id": "3",
 "square_feet": "1000",
 "state_code": "CA",
 "time_zone": "US/Pacific",
 "zip": "12345",
 "parent_job_id": "562949955019589",
 "program_id": "562949953512759",
 "project_bid_type_id": "562949953465028",
 "project_type_id": "562949953482050",
 "project_owner_type_id": "562949953439322",
 "project_region_id": "562949953468817",
 "office_id": "562949953440611",
 "override_start_date": "2025-01-01",
 "override_start_date_check": true,
 "override_end_date": "2026-12-31",
 "override_end_date_check": true,
 "department_ids": [
 "562949953494810",
 "562949953495650"
 ],
 "estimated_value": "1000000",
 "estimated_start_date": "2025-01-01",
 "estimated_completion_date": "2025-12-31",
 "store_number": "123",
 "accounting_project_number": "123",
 "designated_market_area": "Market Area",
 "erp_integrated": false,
 "latitude": "37.7749",
 "longitude": "-124.5924746",
 "locale": "en",
 "enable_copy_of_standard_cost_codes": false,
 "sector": "assembly",
 "work_scope": "new_construction",
 "delivery_method": "construction_manager_as_agent_owners_rep",
 "active": true
}

Update Project Operation

The Update Project operation allows you to modify existing construction projects in Procore.

Parameters

Required Parameters
PARAMETER TYPE REQUIRED DESCRIPTION
Company ID String Yes The Procore Company ID for the project.
Project ID String Yes The unique identifier of the project to be updated.
Basic Information
PARAMETER TYPE REQUIRED DESCRIPTION
Name String No The updated name of the project.
Code String No The updated project code. For example, 'NOB-2024'.
Description String No The updated description of the project.
Active Boolean No Indicates whether the project is active (default: true).
Project Number String No The updated project number.
Accounting Project Number String No The updated accounting project number.
Store Number String No The updated project store number.
Designated Market Area String No The updated market area designated for the project.
Location Information
PARAMETER TYPE REQUIRED DESCRIPTION
Address String No The updated project address.
City String No The updated city where the project is located.
State Code String No The updated state code (ISO-3166 Alpha-2 format). For example, 'CA' or 'NY'.
Country Code String No The updated country code (ISO-3166 Alpha-2 format, default: US).
ZIP String No The updated ZIP/postal code.
County String No The county where the project is located.
Latitude String No The updated latitude coordinate of the project.
Longitude String No The updated longitude coordinate of the project.
Time Zone String No The updated timezone where the project is located. For example, 'America/Los_Angeles'.
Timeline Information
PARAMETER TYPE REQUIRED DESCRIPTION
Start Date String No The updated date that the contract for the project is signed (YYYY-MM-DD).
Completion Date String No The updated date that all parties agree that the project meets substantial completion.
Warranty Start Date String No The updated warranty start date of the project.
Warranty End Date String No The updated warranty end date of the project.
Estimated Start Date String No The updated estimated start date of the project.
Estimated Completion Date String No The updated estimated completion date of the project.
Financial Information
PARAMETER TYPE REQUIRED DESCRIPTION
Total Value Double No The updated total amount of construction work performed, planned, or put in place.
Estimated Value Double No The updated estimated value of the project.
Square Feet Double No The updated total square footage of the project.
Project Classification
PARAMETER TYPE REQUIRED DESCRIPTION
Project Type ID String No The updated project type identifier.
Project Stage ID String No The updated project stage identifier.
Project Bid Type ID String No The updated project bid type identifier.
Project Owner Type ID String No The updated project owner type identifier.
Project Region ID String No The updated project region identifier.
Project Template ID String No The updated project template identifier for standardization.
Sector String No The updated sector of a project. For example, 'Commercial'.
Work Scope String No The updated scope of work for a project. For example, 'New Construction'.
Delivery Method String No The updated delivery method of a project. For example, 'Design-Build'.
Organizational Structure
PARAMETER TYPE REQUIRED DESCRIPTION
Office ID String No The updated project office identifier.
Program ID String No The updated project program identifier.
Department IDs List<String> No The updated department IDs associated with the project.
Parent Job ID String No The updated project’s parent job identifier.
Contact and Communication
PARAMETER TYPE REQUIRED DESCRIPTION
Phone String No The updated telephone number of the project.
Fax String No The fax number for the project.
Public Notes String No The updated public notes for the project.
Flag String No The updated flag of the project. For example, 'URGENT'.
Integration and Origin
PARAMETER TYPE REQUIRED DESCRIPTION
ERP Integrated Boolean No Indicates whether the project will be ERP-integrated.
Origin ID String No The updated external third-party identifier for the project.
Origin Data String No The updated external third-party data string associated with the project.
Origin Code String No The updated external third-party code associated with the project.
Cost Code Configuration
PARAMETER TYPE REQUIRED DESCRIPTION
Standard Cost Code List ID String No The identifier for the Standard Cost Code List.
Additional Settings
PARAMETER TYPE REQUIRED DESCRIPTION
Locale String No The updated locale for the project. 
Image ID String No The updated image identifier of the project.

Example Usage

<procore:update-project doc:name="Update Project"
 doc:id="3e28c0b7-77af-4a97-a809-a4a6a63d7bd7"
 config-ref="Procore_Config"
 companyId="#[payload.company_id]"
 name="#[payload.name]"
 active="false"
 address="#[payload.address]"
 city="#[payload.city]"
 countryCode="#[payload.country_code]"
 description="#[payload.description]"
 startDate="#[payload.start_date]"
 completionDate="#[payload.completion_date]"
 totalValue="#[payload.total_value]"
 warrantyStartDate="#[payload.warranty_start_date]"
 warrantyEndDate="#[payload.warranty_end_date]"
 flag="#[payload.flag]"
 locale="#[payload.locale]"
 phone="#[payload.phone]"
 fax="#[payload.fax]"
 publicNotes="#[payload.public_notes]"
 projectStageId="#[payload.project_stage_id]"
 squareFeet="#[payload.square_feet]"
 stateCode="#[payload.state_code]"
 timeZone="#[payload.time_zone]"
 zip="#[payload.zip]"
 parentJobId="#[payload.parent_job_id]"
 projectBidTypeId="#[payload.project_bid_type_id]"
 projectOwnerTypeId="#[payload.project_owner_type_id]"
 projectRegionId="#[payload.project_region_id]"
 originId="#[payload.origin_id]"
 originData="#[payload.origin_data]"
 originCode="#[payload.origin_code]"
 sector="#[payload.sector]"
 workScope="#[payload.work_scope]"
 deliveryMethod="#[payload.delivery_method]"
 projectTemplateId="#[payload.project_template_id]"
 projectNumber="#[payload.project_number]"
 programId="#[payload.program_id]"
 storeNumber="#[payload.store_number]"
 accountingProjectNumber="#[payload.accounting_project_number]"
 designatedMarketArea="#[payload.designated_market_area]"
 estimatedValue="#[payload.estimated_value]"
 estimatedStartDate="#[payload.estimated_start_date]"
 estimatedCompletionDate="#[payload.estimated_completion_date]"
 projectTypeId="#[payload.project_type_id]"
 imageId="#[payload.image_id]"
 officeId="#[payload.office_id]"
 projectId="#[payload.project_id]"
 county="#[payload.county]"
 standardCostCodeListId="#[payload.standard_cost_code_list_id]"
 departmentIds="#[payload.department_ids]"
/>

Sample Request

{
 "company_id": "562949953437078",
 "project_id": "562949955035825",
 "active": true,
 "address": "123 Main St Updated",
 "city": "Anytown Updated",
 "country_code": "US",
 "county": "Santa Barbara County updated",
 "description": "This is mule test project updated",
 "erp_integrated": true,
 "standard_cost_code_list_id": "562949953436338",
 "start_date": "2025-02-01",
 "completion_date": "2025-12-30",
 "total_value": 100001,
 "warranty_start_date": "2025-02-01",
 "warranty_end_date": "2026-01-30",
 "fax": "0161 999 8888",
 "flag": "1",
 "locale": "en",
 "name": "MuleTest9 - 17 Updated",
 "office_id": 562949953582263,
 "phone": "123-456-7890",
 "project_number": "P3424",
 "public_notes": "Public Notes Updated",
 "project_stage_id": 562949953421313,
 "square_feet": 1001,
 "state_code": "AZ",
 "time_zone": "US/Mountain",
 "zip": "54321",
 "parent_job_id": 562949955019589,
 "program_id": 562949953520454,
 "project_bid_type_id": 562949953465027,
 "project_type_id": 562949953482049,
 "project_owner_type_id": 562949953439321,
 "project_region_id": 562949953470887,
 "project_template_id": null,
 "department_ids": [
 562949953495657,
 562949953495655
 ],
 "estimated_value": 1000001,
 "estimated_start_date": "2025-02-01",
 "estimated_completion_date": "2025-12-30",
 "store_number": "1234",
 "accounting_project_number": "1234",
 "designated_market_area": "Southeast",
 "sector": "auto_service",
 "work_scope": "renovation_alteration",
 "delivery_method": "integrated_project_delivery"
}

Authentication

OAuth 2.0 Setup

The Procore Connector uses OAuth 2.0 authorization code flow for secure authentication.

Step 1: Create Procore OAuth Application

Follow these steps using the Procore Developer documentation to create your OAuth application:

  1. Open the Creating an App article in the Procore Developer documentation.
  2. Follow the step-by-step guide to create a new OAuth application.
  3. During the setup process, configure the following:
    • Application Name: Enter a descriptive name for your application.
    • Redirect URI: Enter your callback URL. For example, http://localhost:8081/mule/callback.
    • Scopes: Select all required scopes. For example, read:projects and write:projects.
  4. Save the application and note your Client ID and Client Secret.
 Note
The redirect URL must match the externalCallbackUrl in your connector configuration. For detailed instructions, refer to Procore Developer's Creating an App article.

Step 2: Configure OAuth in MuleSoft

<procore:config name="Procore_Config" doc:name="Procore Config">
 <procore:connection>
 <procore:oauth-authorization-code
 consumerKey="${procore.config.oauth.consumer_key}"
 consumerSecret="${procore.config.oauth.consumer_secret}"/>
 <procore:oauth-callback-config
 listenerConfig="HTTP_Listener_config"
 callbackPath="/mule/callback"
 authorizePath="/authorize-procore"
 externalCallbackUrl="http://localhost:8081/mule/callback" />
 </procore:connection>
</procore:config>

Step 3: Authorization Flow

  1. Start your MuleSoft application. 
  2. Go to http://localhost:8081/authorize-procore.
    You will be redirected to the Procore authorization page.
  3. Log in with your Procore credentials and authorize the application.
    You will be redirected back to your callback URL. The connector will automatically handle the token exchange and storage.
 Note
The connector automatically refreshes OAuth tokens when they expire.

Error Handling

Error Types

The Procore Connector provides comprehensive error handling with specific error types:

ERROR TYPE CODE DESCRIPTION
BAD_REQUEST 400 Invalid request parameters or malformed data.
UNAUTHORIZED 401 Invalid or expired authentication credentials.
FORBIDDEN 403 Insufficient permissions to access the resource.
NOT_FOUND 404 The requested resource was not found. 
CONFLICT 409 The request conflicts with the current state of the resource.
TOO_MANY_REQUESTS 429 API rate limit has been exceeded.
CONNECTIVITY N/A Unable to connect to Procore services.
UNEXPECTED_ERROR N/A Unknown or unclassified errors.

Troubleshooting

Common Issues

Authentication Problems

  • UNAUTHORIZED Error: Check that your OAuth consumer key and secret are correct.
  • ACCESS_TOKEN_MISSING: Verify that the OAuth flow completed successfully.
  • OAUTH_STATE_MISSING: Ensure that the OAuth callback configuration is correct.
  • Scope Issues: Make sure your Procore application has the required scopes.

API Errors

  • BAD_REQUEST Error: Verify that all required parameters are provided and that their data types are correct.
  • INVALID_REQUEST Error: Check the request's format and structure.
  • FORBIDDEN Error: Ensure that your Procore user has the required permissions.
  • TOO_MANY_REQUESTS Error: Implement retry logic with exponential backoff.

Resource Errors

  • NOT_FOUND Error: Verify that the project or company ID exists and is accessible.
  • CONFLICT Error: Check the current state of the resource before performing update operations.
  • UNPROCESSABLE_ENTITY Error: Review business logic validation rules.

Connection Issues

  • CONNECTIVITY Error: Check your network connectivity and firewall settings.
  • SERVICE_UNAVAILABLE Error: The Procore service may be temporarily down.
  • REQUEST_TIMEOUT Error: Increase the timeout settings in your configuration.
  • GATEWAY_TIMEOUT Error: Check your proxy or load balancer configuration.

Debugging

Enable Debug Logging

Add the following logger configuration to enable debug logging:

<logger name="com.procore.mule" level="DEBUG"/>

Common Debug Information

  • Request/Response Logs: Log API request and response details.
  • Token Information: Log token refresh events and OAuth state.
  • Parameter Validation: Log parameter validation results.
  • Error Details: Log detailed error information with Procore error types.
  • Connection Events: Log connection creation and failure events.

Support

Best Practices

Development

  • Use Secure Properties: Store sensitive configuration in secure properties.
  • Implement Error Handling: Always implement proper error handling for all operations.
  • Validate Input: Validate all input parameters before making API calls.
  • Log Operations: Log operation attempts for debugging and monitoring.
  • Test Thoroughly: Test all operations with various parameter combinations.

Production

  • Monitor Performance: Monitor API response times and error rates.
  • Implement Retry Logic: Implement retry logic for transient errors.
  • Use Connection Pooling: Leverage connection pooling for better performance.
  • Secure Configuration: Use secure properties for sensitive data.
  • Regular Updates: Keep the connector updated to the latest version.

Testing

  • Unit Tests: Write unit tests for all operations.
  • Integration Tests: Test with the actual Procore API.
  • Error Scenarios: Test error handling scenarios.
  • Performance Tests: Test with realistic data volumes.
  • Security Tests: Test authentication and authorization.

Appendix

API Endpoints

OPERATION METHOD ENDPOINT DESCRIPTION
Create Project POST /rest/v1.0/projects Create a new project
Update Project PATCH /rest/v1.0/projects/{id} Update an existing project

Data Types

TYPE DESCRIPTION EXAMPLE
String  Text values "Project Name"
Boolean True/false values true
Double Decimal numbers 1000000.0
Integer Whole numbers 50000
List<String> Array of strings ["dept1", "dept2"]
Date Date values "2024-01-01"

Glossary

TERM DEFINITION
Procore Construction project management platform.
OAuth 2.0 Authorization protocol for secure API access.
Company ID Unique identifier for a Procore company.
Project ID Unique identifier for a Procore project.
Standard Cost Codes Predefined cost categories for construction projects.
Custom Fields User-defined fields for project customization.
Procore Error Codes Specific error types that are defined by the Procore connector for error handling.
BAD_REQUEST Error indicating invalid request parameters or malformed data.
UNAUTHORIZED Error indicating invalid or expired authentication credentials.
FORBIDDEN Error indicating insufficient permissions to access a resource.
NOT_FOUND Error indicating the requested resource was not found.
CONFLICT Error indicating request conflicts with current resource state.
TOO_MANY_REQUESTS Error indicating API rate limit has been exceeded.
CONNECTIVITY Error indicating inability to connect to Procore services.
UNEXPECTED_ERROR Generic error for unknown or unclassified errors.