An Introduction to the PowerFab APIs

Tekla PowerFab
Not version-specific
Tekla PowerFab Tekla PowerFab GO

For developers looking to integrate with Tekla PowerFab, it's important to understand that there are two distinct APIs available. Each is designed for different use cases and uses different technologies. This article provides a high-level overview of both. For new and existing projects that require robust and comprehensive integration with PowerFab, developers should steer towards the .NET API. It is the most mature and feature-complete option. The REST API is a useful alternative for specific tasks that only require the available endpoints.

Development support is maintained via our forums at https://forum.tekla.com/forum/639-developer-forum/, this article is provided as a high level overview of the available options.

The .NET API

This is the original and most developed programmatic interface for PowerFab. It offers the most extensive set of classes and the deepest level of interaction with the database.

  • Technology: XML over a direct socket connection.
  • Connection Method: Designed for applications running within the same local area network (LAN) or a secure VPN as the PowerFab server.
  • Recommendation: For any project requiring the highest level of access to PowerFab data and functionality possible.

For detailed information, class definitions, and implementation guides, please refer to the official documentation, which is the best source for this API:

The REST API

This is a newer interface for PowerFab that uses standard web technologies. It's important to note that this API is still evolving and currently has only a few endpoints available.

  • Technology: JSON over HTTPS.
  • Connection Method: Accessed over the public internet via regional URLs.
  • Use Case: This API is best suited for lightweight web applications or integrations where the specific endpoints available meet the project's requirements.

Viewing the Available Endpoints

To see exactly which endpoints are available in the REST API, you can view its OpenAPI schema:

  1. Navigate to the schema URL to get the raw data: https://powerfab-go-api.us-east-1.teklapowerfab.net/v1/metadata/schema
  2. Copy the entire contents of the schema file that was downloaded.
  3. Visit a Swagger Editor like https://editor.swagger.io/.
  4. Paste the schema content into the editor to view it in a user-friendly, interactive format.

Step 1: Register and Configure Your Application

Please follow the instructions at step 2 on this page (this information is also included in the schema file above): https://developer.trimble.com/docs/connect/getting_started. This will start the process of obtaining your Consumer Key, Consumer secret, Application Name & Callback URL, which you will use to authenticate users with Trimble Identity in order to use the API.


Step 2: Authenticate with Trimble Identity (TID)

For a complete, language-agnostic guide on how to authenticate with Trimble Identity, please refer to the official Trimble Identity API Documentation: https://developer.trimble.com/docs/authentication


Step 3: Request Routing and Making API Calls

Once authenticated, all API calls are made to a regional base URL. The server uses the access_token to identify the user and route the request to the correct company database.

  • Request Routing: The API server inspects the access_token to identify the user's organization and associated PowerFab Go site(s). For organizations with multiple sites, the API defaults to the site the user last logged into.
  • Base URL: Choose the URL for your region. Known regions include us-east-1, ap-southeast-1, and eu-central-1. The structure is: https://powerfab-go-api.[region].teklapowerfab.net/v1/
  • Headers: Every API call must include:
    • Authorization (Required): The value must be Bearer [your-access-token].
    • X-Site-Subdomain (Optional): Highly recommended for multi-site organizations to explicitly target a specific database, which overrides the default routing logic.
Was this helpful?