Overview

Introduction

Integration Uses

The STACK API allows you to connect STACK directly to other software solutions, creating a seamless workflow customized for your business needs.

Integrations can be used to pull project plans and documents, directly from the construction project document or bid management solution, into STACK for the take-off and estimating process. 

They can also be used to push estimate data and proposals to project accounting and project management software solutions.

This means better project tracking, clearer data analysis, reduced manual entry, and less rework. 

Core capabilities include creating project and plans, creating takeoffs lists, managing items and assemblies, retrieving quantities and costs, and downloading plans and proposals. 

Only API calls published in the STACK Developers Reference are supported.  Customers implementing non-published API end points use at their own risk.

/

Integration Types

Custom Integration – For Your Company Use Only

A Custom Integration is a connection between your STACK account, that you use and control, and another system used within your business.

These are typically created by STACK customers to make their team more efficient and effective by automating data movement and manual workflows between STACK and the other system.

Only you and your team will have access to your Custom Integration.

Partner Integration – For All STACK Users

A Partner Integration is typically created by another technology company to connect their application to STACK for the benefit of our mutual customers.

These integrations may be listed on the STACK Marketplace so they’re available to the entire STACK community.

Find a list of current partner integrations here.

Sample Integration Workflow

Before beginning development, it helps to plan out each step of your proposed integration workflow and list what data will be moving between the associated systems at each step.

Below is a blank workflow template and a completed example for reference.

/
/

Requirements

Creating an integration with the STACK API requires programming that is not performed by STACK.

You must be at least an entry-level software programmer with a basic understanding of programming languages, software interfaces, OAuth authorization, APIs, and web development concepts to use the API.

If you aren’t a programmer or don’t have to have a programmer on staff, you can contract the programming work to a third party.

You do need to be a STACK customer with an API Enabled Subscription to gain API access.

If you are not currently a customer, but are interested in creating a Partner Integration, please contact us to discuss your proposed integration and options.

Getting Started

Request API Access

The first step to create an integration with the STACK API is to request API access.

You do need to be a STACK customer with an API Enabled Subscription to gain API access.

If you are not currently a customer, but are interested in creating a Partner Integration, you can still request access to start the discussion about what you would like to create and how to become a partner.

In either case, simply click the Request API Access button at the top of the page, complete and submit the request form.

Our team will review the request and respond within two business days to setup an API kick-off call to discuss your proposed integration and workflow.

After the kick-off call, if you’re approved to move forward, we’ll email instructions on how to set up a Partner Account to get API credentials.

Partner Account and Credentials

To build an integration with STACK, you need a Partner Account. This is a STACK account that will be linked to your API credentials.

Even if your integration connects directly to a customer account and does not put any data into the Partner Account, a Partner Account is required for logging purposes.

You will initially create a Partner Account in the Partner Acceptance Testing (PAT) environment. (You will need to create another account when moving to the STACK production environment.)

We’ll email instructions to create a Partner Account after the API kick-off call.

Once you create the account, let us know the email address you used and we’ll send an encrypted email with the API credentials – partner user id and secret – needed to access our sandbox/Partner Acceptance Testing (PAT) environment.

Authentication

Any time you make a request to the STACK API, you must be authorized through STACK’s Authorization Server.

You need to understand the authorization process and work through the authentication steps before starting work with the API.

OAuth 2.0 - Two-Legged Authorization

Two-Legged authorization is used when your integration is writing data into or reading from an account that you control. This is typically server-to-server communication where you may create Project, Plans, Files directly into your own account.

OAuth 2.0 - Three-Legged Authorization

Three-Legged authorization is used when your integration is writing data into or reading from an account on behalf of a user. This requires the user to grant your integration permission to control his or her data. Your application will request to control a user’s account and he must click a button to grant your application the appropriate permissions.

Click to review complete Authentication documentation.

Develop & Launch

Test Environment - Sandbox

You’ll build and test your integration in our Partner Acceptance Testing (PAT) environment, commonly known as a “sandbox.”

This allows you to populate test data and verify that all your API calls are working as intended before connecting to the STACK production environment.

All integrations must be certified in the PAT environment by STACK before moving to the production environment.

Refer to the Request API Access section for instructions to access to the PAT environment.

 NOTE: You can find tutorials for common integration features in the Tutorials section of this site.

All API documentation is available in the API Reference.

Certification

All integrations must be certified by STACK before moving to the production environment.

This ensures that the implemented API works as expected, provides a secure and predictable interaction, and can be support by STACK in the future.

The certification process takes about 2 hours – you’ll follow a normal business workflow while we monitor the API usage.

Once the certification is complete, you’ll be sent the results:

  • • If the integration passed, you’ll receive instructions on how to move to the production environment.
  • • If the integration failed, you’ll receive a list of mandatory items to be fixed, as well as optional items to improve the efficiency of the integration. Once the mandatory items have been fixed, we can repeat the certification process.

Production Environment

Once your integration has passed the certification process, we’ll email instructions to create a production partner account so you can move to the production environment.

Once you create the account, you’ll need to let us know the email used and your public key. Then we’ll send you an encrypted email with the production API credentials – client id and secret.

At that point, you’re ready to go live. Congratulations!

Branding

When representing STACK on your site, please refer to these brand guidelines:
  • • The name STACK should always be all uppercase.
  • • The STACK logo should not be manipulated or distorted in any way.
  • • Minimum size for STACK logo on screen is 80px wide.
  • • The STACK brand font is Proxima Nova. It is the preferred font but not required. If not using Proxima Nova, make sure to use a web-safe Sans Serif font like Arial, Helvetica, etc.
When redirecting a customer to STACK from your app, a banner or button like one of these may be appropriate:
/
/
/

We will provide you with the logo file and colors used in the button examples.

Support

We want your connection to the STACK API to be as seamless as possible.

If you have any questions, please email apihelp@stackct.com. (Make sure to include your name and STACK username in the email.)

Shopping Basket