ProjectSight API
You can use the ProjectSight API to view and update information in your portfolios and projects. To request access, email ProjectSightAPISupport@trimble.com.
After you register your application, you can subscribe it to the API and then acquire a security token. The token is associated with your Trimble account credentials and is valid for the period of time that's defined in the token response.
- For more information on the ProjectSight API, refer to the developer documentation.
- For information on getting the identity packages, refer to the Trimble Identity page.
- You can add references to the ProjectSight Client SDK (Trimble.ProjectSight.SDK) in your .NET projects.

- Sign in to API Cloud with your Trimble account.
- On the Discover API page, select ProjectSight or ProjectSight-EU.
- Select Subscriptions.
- In the Create Subscription section, select your application, and then select Subscribe.


- In API Cloud, select ProjectSight or ProjectSight-EU.
- Select Get Key.
- Copy the following values:
- Application Name
- Consumer Key
- Consumer Secret
- Package & Usage Plan Key
- To obtain a security token from Trimble Identity, POST a request to https://id.trimble.com/oauth/token with the following information:
- Header: Authorization
- Header: Content-Type
- Body:
- If the request is successful, the response contains a Json class with several properties.
- The
access_token
property is used to make the API calls. - The
expires_in
property defines how many seconds the token is valid for. - If the request fails, the response includes two fields,
error
anderror_description
, that describe the problem.

Value: Basic Key
The key in the Authorization value is a single string that consists of the Consumer Key and the Consumer Secret, separated by a colon (ConstumerKey:ConsumerSecret) and then Base64-encoded.
Value: application/x-www-form-urlencoded
grant_type=client_credentials
scope=[Application Name]
Replace [Application Name] with the value copied in the previous step.
Example:
POST https://id.trimble.com/oauth/token/
Authorization: Basic TE9pU...
Content-Type: application/x-www-form-urlencoded
Accept: application/json
Cache-Control: no-cache
grant_type=client_credentials
scope=Trimble-ProjectSightApp1

- In API Cloud, select ProjectSight or ProjectSight-EU.
- For more information on the API endpoints, refer to the developer documentation.
- To find the URL that you will use to access the API for your application, select API Endpoint.


- On the Documentation page of ProjectSight or ProjectSight-EU, select Download.


- Ask Trimble Support to create a new application in API Cloud.
- Subscribe to the new application, and use its consumer key and consumer secret for your ProjectSight integrations.
- Sign in to API Cloud, and select ProjectSight or ProjectSight-EU.
- Select the Subscriptions tab.
- In the Create Subscription section, select the new application and then select Subscribe.
- Select Get Key.
- To view and copy the consumer key and consumer secret for the new application, select the new application from the list.
- Update your ProjectSight integrations with the new consumer key and consumer secret.
- To remove the subscription to the old application, select Revoke Key beside the old application.



The Package & Usage Plan Key (i.e., x-api-key HTTP header) does not change. Only the Consumer Key and Consumer Secret are unique to each application subscription.

Rate limits
Based on updated guidance from Trimble Cloud, you don't need to pass the x-API-key to the trimblepaas.com endpoints. If you do pass it, there is a limit of 50 requests per second.
Supported features

The following record types are supported:
- Account
- ActionItem
- ApplicationForPayment
- Budget
- BudgetCodeStructure
- BudgetGroup
- BudgetSnapshot
- ChangeOrderRequest
- Checklist
- Company
- Contract
- ContractInvoice
- DailyReport
- Drawing
- DrawingSet
- FieldWorkDirective
- File
- Folder
- Forecast
- GeneralInvoice
- Issue
- JobCosts
- LookupList
- Meeting
- Notice
- Photo
- POCatalog
- Portfolio
- PotentialCO
- PrimeContractCO
- Project
- PunchList
- PurchaseOrder
- Records
- ReportGenerator
- RFI
- Role
- SafetyNotice
- SubContractCO
- Submittal
- SubmittalPackage
- Transmittal
- User
- WorkflowStates

For the supported record types, the following API operations are available:
- Get a record
- Delete a record
- Get a collection of records
- Create or update a record
- Get a collection of records based on a query request
- Get workflow states for records
- Get a list of available reports
- Get a list of available UDFs
Some record types have different operations.