Trimble Connect for Structures API documentation

Welcome to Trimble Connect for Structures developer site! Trimble Connect public APIs enable customers and industry partners to integrate the platform to their own systems. We have gathered here relevant information and links for you to get started! Please follow the 3 steps here. You can find sample code from the bottom of this page.


1. Register your Trimble Connect account
2. Trimble Connect integrations
3. Start to integrate
4. Samples
5. Miscellaneous

1. Register your Trimble Connect account

You can start by creating a free registered Personal Account of Trimble Connect by clicking here. You can then sign-in to Trimble Connect.

 

2. Trimble Connect integrations

Trimble Connect core APIs

The Trimble Connect API allows one to read, write and update data into and out of the Connect platform. Now, one can create folders, upload and download files, modify views and do much more from any application. Please start here TC API spec.

You can find the General developer documentation for Trimble Connect SDK for .NET here: .NET SDK

If not using .NET, see the samples.

 

Trimble Connect for Desktop API

You can find the API documentation as a part of the installation (download). After a standard installation, the documentation can be found in the following folder:
 
C:\Program Files\Trimble\Trimble Connect\API Documentation\Trimble.Connect.Desktop.API.chm
 
Please follow those instructions for your development.

 

Trimble Connect for Web API

3D viewer javascript API can be used to embed and manipulate the TConnect web viewer. The web viewer could be embedded into any web based application. You can find the current documentation here: TC Viewer API spec

NOTE! We are in the midst of changing our web viewing technologies. Please contact Jussi Ketoja (jussi.ketoja@trimble.com) before the implementation!

 

WORKFLOW TOOLS (Status sharing) API

Trimble Connect workflow tools enable cloud-based BIM supply chain management. You can control and keep track of assembly- and object-level status information for project management, scheduling and design review purposes. 

If you are a fabricator or equivalent, most probably you have an ERP system (or any system with a status concept) in place. With this API, you can visualize your production status on BIM with a “live feed” and even update your system status from Trimble Connect user interfaces.
 
A walk-through of accessing the Status Sharing API is in the samples.

 

3. Start to integrate

Once you have familiarized yourself with the product, the documentation and examples and feel ready to start leveraging the Trimble Connect API/SDK, you need to request API credentials unique to your organization and connected application. Please send this request to connect-structures@trimble.com for further processing.

You will shortly get an email with an developer agreement draft and a google form link. Please use few minutes to fill-in the information to get the credentials.

Please note that every application needs its own API credentials. This helps us to help you, if you have any issue with your integration.

 

4. Samples

Trimble Connect APIs

With Trimble Connect core APIs, the authorization (access_token exchange) is done against the master region. Subsequent request for TC project data are targeted against region specific servers. There is a method for discovering region specific server urls.

TC region URL Specs
North America (master) https://app.connect.trimble.com/tc/api/2.0  API spec
Europe (Ireland)    
Asia (Singapore)    

When programming in .NET we recommend using the .NET SDK.

 

Example: Authorization using Oauth2 Password grant type

1. Authenticate using Oauth2 (Password grant type)

POST https://identity.trimble.com/i/oauth2/token
?grant_type=password&username=<username>&password=<password>
&client_id=<client_id>&client_secret=<client_secret>
&scope=openid&tenantDomain=trimble.com
Content-Type: application/x-www-form-urlencoded

Trimble Id token is returned in the response body as id_token

2. Exchange the id_token for a Trimble Connect API access token

POST https://app.connect.trimble.com/tc/api/2.0/auth/token
Content-Type: application/json
{
"jwt": "<id_token>"
}

Trimble Connect API access token is returned in the response body as token

3. Use Trimble Connect APIs using the access token. See the API documentation. Access token is passed in the request headers:

Authorization: Bearer <token>

 

Workflow Tools APIs

With Workflow Tools APIs all requests including the access_token exchange are done against the region specific servers. The access_tokens are region specific, as there is no master region.

You can get the region specific server urls by prepending the Trimble Connect region name to the base url.

API Base URL Specs
Status Sharing tcstatus.tekla.com swagger (draft)

Workflow Tools APIs support the same regions as core Trimble Connect. Examples urls:

https://europe.tcstatus.tekla.com (Status Sharing for Europe region)

Status actions are set up per project to match your process.

Possible status values are None, Enable, Commit, Started, Paused and  Completed. Allowed status values can be configured per status action.

 

Example: Using the Status Sharing APIs

1. Authenticate using Oauth2 (Password grant type)

POST https://identity.trimble.com/i/oauth2/token
?grant_type=password&username=<username>&password=<password>
&client_id=<client_id>&client_secret=<client_secret>
&scope=openid&tenantDomain=trimble.com
Content-Type: application/x-www-form-urlencoded

Trimble Id token is returned in the response body as id_token

2. Exchange the id_token for a Status API access token

POST https://preprod.tcstatus.tekla.com/statusapi/1.0/auth/token
Authorization: Bearer <id_token>

status_token is returned in the response

3. The Status API can then by invoked using the status_token. Examples below are using the preprod server:

a) Query Status Actions in a project
GET https://preprod.tcstatus.tekla.com/statusapi/1.0/projects/<project_id>/statusactions
Authorization: Bearer <status_token>

b) Example for getting current statuses for an action
GET https://preprod.tcstatus.tekla.com/statusapi/1.0/projects/<project_id>/status
?statusActionId=<action_id>
Authorization: Bearer <status_token>

c) Example for adding Status Action:
POST https://preprod.tcstatus.tekla.com/statusapi/1.0/projects/<project_id>/s...
Authorization: Bearer <status_token>
Content-Type: application/json
{
        "isPublic": true,
        "name": "Test action",
        "allowedValues": "None,Started,Paused,Completed"
}

d) Example for adding Status Events for two objects

Notice: Object guids must be in the IFC GUID format.

POST https://preprod.tcstatus.tekla.com/statusapi/1.0/projects/<project_id>/s...
Authorization: Bearer <status_token>
Content-Type: application/json
[{
        "objectId": "ifc-guid1",
        "statusActionId": "<action_id>",
        "value": "Completed",
        "valueDate": "2017-06-01T19:54:30.00Z"
},
{
        "objectId": "ifc-guid2",
        "statusActionId": "<action_id>",
        "value": "Paused",
        "valueDate": "2017-06-02T16:30:00.00Z"
}]

For more information on the API, see https://preprod.tcstatus.tekla.com/swagger (draft)

 

5. Miscellaneous

License agreement

TRIMBLE CONNECT API / SDK LICENSE AGREEMENT
Architecture (old)