Procore Data Model Considerations

Introduction

The following sections identify certain Procore data model constraints and characteristics that you should be aware of as you design your application.

Resource ID Value Size

With the introduction of Multiple Procore Zones (MPZ), the size of resource ID values in any new Procore zone may exceed what can be stored in a 32-bit integer. As a result, please ensure that you store ID values using a data type capable of storing 64-bit integers or larger, such as BigInt, int64_t, or long long depending on your particular coding language/framework.

Globally Unique User IDs

It is important to note that when a new user is added to Procore, the integer ID assigned to that user by the system has global scope and is unique across all company accounts and projects within Procore. A user can therefore be a member of multiple Procore company accounts by virtue of their unqiue email address. Furthermore, as you subsequently add that user to one or more project-level directories within a given company, the user_id value for that user remains the same across those projects. In other words, the user_id is 'inherited' from the company-level directory. Keep this aspect of the Procore data architecture in mind as you work with Procore API endpoints that rely on or otherwise utilize the user_id parameter.