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.

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.