To make Procore's API as explorable as possible, we have provided the following sandbox environments you can use for testing:
- Monthly Sandbox - refreshed with current production data on a regularly scheduled basis once each month. Data you create, update, or manipulate within a Monthly Sandbox environment will never affect the original production data and will exist solely in the context of that environment.
- Development Sandbox - generated by third-party developers from their Developer Portal account and includes seed project data that can be used for testing purposes. The Development Sandbox enviroment does not refresh with production data at any time.
"Blue/Green" Restore Architecture
Our Monthly Sandbox environment is set up with a "blue/green" restore architecture. This concept allows us to use several servers; one is active while others are inactive. The servers sit behind a load balancer and when an incoming request is received, it is routed to the currently active server. In turn, outbound requests come from the active server's IP address. While one server is active, one of the inactive servers is being restored from a snapshot of the Production environment taken previously. At the time of a server swap (see schedule details below) the load balancer activates the newly restored server and deactivates the current server.
Sandbox Environment Details
|Monthly Sandbox||https://api-sandbox-monthly.procore.com||Self-contained, virtual testing environment which mimics the production environment approximately 48 hours prior to the swap that occurs on the second working day of each month between 4:00-5:00pm Pacific Standard Time. In order to ensure that changes you make in your production environment are present in the next month's monthly sandbox instance, we recommend making those production changes by the end of the current month.|
|Development Sandbox||https://sandbox.procore.com/||Self-contained, virtual testing environment generated by third-party developers from their Developer Portal account. Never restores with Production data.|
Generating and Working with a Development Sandbox
Once you have successfully registered an account on the Procore Developer Portal, you have the ability to generate a Development Sandbox that you can use to test your application. Development Sandboxes come pre-seeded with company and project level test data that you can expand upon to aid you in your development and test activities. A Development Sandbox provides an isolated environment in which you can experiment and validate your application without the risk of affecting production data.
Use the following steps to generate your Development Sandbox.
- Log in to the Developer Portal and navigate to ‘My Apps’.
- Click the tile for the App that you want to create a sandbox for.
- In the Sandbox Account panel, click ‘Generate Sandbox’. A confirmation dialog displays.
- Click ‘Generate Sandbox’ again to confirm the generation of your sandbox.
It will take approximately 10 to 20 minutes to create your sandbox. You will receive an email notifying you regarding the availability of your sandbox, as well as the URL to set your password in the sandbox environment. Once your sandbox has been successfully generated and your password has been set, you can:
- Follow the Concierge account creation process.
- Retrieve your
client_secretAPI keys for your sandbox from the Developer Portal.
- Retrieve an access token and refresh token for use with OAuth authentication.
- Retrieve the URL for your sandbox environment.
- Access your sandbox Company using your Developer Portal login username (email address) and your recently set password.
- Add and modify data in your sandbox environment using the Procore Web UI.
- Make Procore API calls to your sandbox environment.
- It is important to note that when making Procore API calls to your Development Sandbox, you'll need to ensure that the base URL
for the endpoints you hit matches the https://sandbox.procore.com domain. For example,
- Development Sandboxes you generate from the Developer Portal cannot be 'refreshed'. You must delete and re-generate the sandbox account if you want to work with a 'clean' environment.
Development Sandbox First-Time Access
Note: On your first login attempt to your new sandbox Company you will be prompted to set your password for Procore access. This does not affect your Developer Portal password. When you access your sandbox for the first time, you will have the option to work through the Concierge account creation process.
Development Sandbox Credentials
It is important to note that as you work in your Development Sandbox you will use authentication credentials that are separate from the Procore production environment. Once you have generated your sandbox, a new Client ID and Client Secret will be available to use for your testing. Keep in mind that these credentials are only valid for your sandbox and are not recognized in the Procore production environment.
Development Sandbox Company Directory Users
In addition to the user account you use to log into the Developer Portal, a minimum set of users is automatically created in the company directory of your sandbox when it is first generated.
- Test Architect (e.g., firstname.lastname@example.org)
- Test Subcontractor (e.g., email@example.com)
- API Support (e.g., firstname.lastname@example.org)
Development Sandbox Test Project
Your Development Sandbox comes pre-configured with a test project called 1234 - Sandbox Test Project. This project includes the following seed data to help get you started.
- Project Directory - three project users (Test Architect, Test Subcontractor, and API Support as described above)
- Schedule - basic high-level schedule with 8 tasks
- Documents - a basic document folder structure
- Photos - one basic image
- Drawings - a basic set of construction plans
- RFIs - a single RFI record
- Submittals - a single submittal record
Using Postman with Your Development Sandbox
Postman is an API test application and framework you can use to send HTTP requests to Procore API endpoints. It allows you to quickly send requests to the Procore API and capture results. It is a useful tool for getting started with the Procore API and debugging your application. For detailed information on using Postman with a Development Sandbox, see Exploring the Procore API with Postman.
Additional Considerations for Sandbox Environments
- After a monthly "blue/green" swap occurs, each server environment is independent of one another. Data created or updated in the monthly sandbox environment does not affect production.
- The Production environment is best used to set up data which will eventually propagate to the monthly sandbox environment where you can safely manipulate it.
- After an App is created in your Developer Portal Account, the
client_secretcredentials for your App will eventually propagate to the monthly sandbox environment.
- Users created in production will eventually propagate to the monthly sandbox environment.
- When working in your Development Sandbox environment, do not rely on
refresh_tokenfrom the production environment as those tokens will no longer align.