Skip to content

Explanation and Concepts

Connect API offers regional endpoints that you can use to make your requests. The resources in each region are independent of similar resources in other regions.

Regions can be discovered by calling the /regions endpoint of the master region. Use the origin field value to determine the base URL to make API calls to a specific region.

The base URLs of other regional Trimble Connect services are also returned for each region, and should always be discovered using this API. Proper use of region discovery will prevent issues if/when new Connect regions are introduced, or if the service endpoints change.

The Connect Platform consists of powerful cloud-based services and cloud-enabled Trimble Connect applications for the browser, desktop, and mobile.

Trimble Connect Platform Architecture

It offers two types of services:

  • Client API: Allow application integrations and extensions within client-side environments.
  • Cloud Services: Provide a range of cloud-based services, each with its own set of API and SDK offerings for developers.

The Connect Platform is available to our customers, Trimble internal teams, and third-party integrators. For details on how to get started, see the Access page.

Client APIs enable application integrations with Connect applications.

PlatformAPIDescription
WebWorkspace APIAn API that enables creating Extensions for adding capabilities within the Trimble Connect for Browser application and its 3D viewer, and Embedded Connect for integration with an embedded file explorer or 3D viewer.
WindowsTrimble Connect for Windows APIA .NET API that allows external applications to interact with Trimble Connect for Windows

The Connect Platform provides the following cloud-based services:

ServiceDescription
CoreConnect Core service 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
ModelThe Model service allows you to execute queries over Building Information Models (BIM).
Model FeatureThe Model Feature service provides read access to Organizer groups in Connect projects.
OrganizerThe Organizer service allows one to manage hierarchical breakdown structures.
Property SetThe Property Set service allows one to manage libraries of property set definitions and attach property sets to external objects.
TopicsBCF 2.1 compatible service for managing issues on a Connect project.

Software Development Kits provide easy access to the cloud-based Connect Services.

PlatformSDKServer APIs covered
Windows / .NETTrimble Connect .NET SDK (NuGet)API client, local data management/sync for: Core, Organizer, Property Set
Web / JavaScript, TypeScripttrimble-connect-sdk (npm)API client for: Core, Organizer, Property Set

All collections/lists support a cursor or range-based mechanism to fetch partial lists (HTTP 206). See the API specifications for details.

This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with the W3C spec that allows cross-domain communication from the browser. All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.

The service supports the following content encodings:

  • deflate
  • gzip
  • identity

The service accepts compressed request payloads. The Content-Encoding header must be sent in the request to decode the request payload properly.

For responses, the compression is applied automatically for responses larger than 1KB.

The compression method can be negotiated with the Accept-Encoding header. The following Accept-Encoding header formats, according to the RFC 7231 specification, are supported:

  • Accept-Encoding:deflate,gzip
  • Accept-Encoding:
  • Accept-Encoding:*
  • Accept-Encoding:deflate;q=0.5,gzip=1.0
  • Accept-Encoding:gzip;q=1.0,identity;q=0.5,*;q=0

If the header is not set, the default value is * as defined in RFC 7231. In such cases, the payload is not compressed.

The response body for all error responses are in the same format and include the error code and message.

When you send requests to and get responses from the Service API, you might encounter two types of API errors

  • Client errors - Client errors are indicated by a 4xx HTTP response code. Client errors indicate that the service found a problem with the client request. This can include such things as an authentication failure or missing required parameters. Fix the issue in the client application before submitting the request again.
  • Server errors - Server errors are indicated by a 5xx HTTP response code and need to be resolved by Trimble. You may resubmit/retry the request until it succeeds.

For each API error, the API Gateway returns the following values

  • A status code, for example, 400
  • An error code, for example, ValidationException
  • An error message, for example, Supplied AttributeValue is empty, must contain exactly one of the supported data types

For your application to run smoothly, you need to build in logic to catch and respond to errors. One typical approach is to implement your request within a try block or if-then statement.

The client-side SDKs perform retries and error checking. If you encounter an error while using one of the SDKs, you should see the error code and description. To help troubleshoot any issues with Trimble Connect support, you should also check the value of any of the following headers

  • tc-request-id
  • X-Azure-Ref
  • x-amzn-RequestId

Numerous components on a network, such as DNS servers, switches, load balancers, and others can generate errors anywhere in the life of a given request.

The usual technique for dealing with these error responses in a networked environment is to implement retries in the client application. This technique increases the reliability of the application and reduces operational costs for the developer.

Official Trimble Connect SDKs implement automatic retry logic. There is also configuration available to change the retry settings.

If you’re not using the official SDKs, you should retry original requests that receive server errors (5xx). However, client errors (4xx, other than a TooManyRequestsException) indicate you need to revise the request itself to correct the problem before trying again.

In addition to simple retries, it is recommended to use an exponential backoff algorithm for better flow control. The idea behind exponential backoff is to use progressively longer waits between retries for consecutive error responses. For example, you might let one second elapse before the first retry, four seconds before the second retry, 16 seconds before the third retry, and so on. However, if the request has not succeeded after a minute, the problem might be a hard limit and not the request rate. For example, you may have reached the maximum number of pipelines allowed. Set the maximum number of retries to stop around one minute.