# Kloudless API interaction
- Connector Category: Construction
- Unified APIs Supported: Storage, Activity
# Accessing BIM 360 Data
Kloudless uses the Autodesk Forge platform to access data in BIM 360 and Autodesk Drive.
If a Forge app wants to access a user's BIM 360 data, BIM 360 requires the user's administrator to approve the Forge app prior to authorizing access. Kloudless informs users of this requirement during the OAuth flow. Kloudless therefore requires developers to create an Autodesk Forge application and configure its client ID and secret on the Custom OAuth Keys page of the Kloudless developer portal. The BIM360 administrator can then either add the app from the Autodesk App Store or send the developer an invitation to provide the app’s client ID and secret (this option requires an additional approval step), allowing the app access to their users’ BIM 360 data.
# Requirements
Configure custom OAuth keys in the Kloudless developer portal using the app’s client ID and secret. Once custom OAuth keys are configured, the integration will be white-labeled; BIM 360 users and administrators will see your app’s name and logo in the OAuth flow, rather than “Kloudless”.
Request the BIM 360 administrator to add your app . After the administrator adds and approves your app, any of their users can authenticate via your Kloudless app’s OAuth flow, giving your app access to their BIM 360 data.
# Testing your integration
# Configuring custom OAuth keys
Create a Forge app at forge.autodesk.com/myapps with the callback URL set to:
https://api.kloudless.com/services/autodesk/callback
(or your alternate API server's domain, if applicable)Obtain the client ID and secret.
Go to the Custom OAuth Keys page located in the Kloudless Developer Portal. Expand the Autodesk and BIM 360 Data section to configure the client ID and secret provided in the app's information.
# Connecting your app to BIM 360
Log in to BIM 360 and visit the BIM 360 Account Admin page.
Go to Settings > Custom Integrations.
Account administrators who do not see Custom Integrations or Apps may not have a BIM 360 license appropriate for accessing or adding apps. Email Autodesk to request activation of the Custom Integration (Apps) tab if either tab is missing from your account’s Settings page.
Click Add Custom Integration and select Document Management for the access level.
Select I'm the developer and provide your app's client ID and name.
Proceed through the Kloudless OAuth flow to test out the integration.
# Requesting customers to add your app
There are two ways your customer's BIM 360 account administrator can add your app. After logging in and navigating to the Account Admin page, the administrator should follow either of the options listed below:
Option 1: If your app is already available in the Autodesk App Store the account administrator can add the app directly from the Apps tab.
Not all Autodesk Apps are listed on this page. If your app is not listed here, the BIM 360 administrator can find it in the Autodesk App Store. To submit an app for publication in the Autodesk App Store, follow the instructions in the Autodesk App Store Developer Center, or contact the Autodesk team at appsubmissions@autodesk.com.
Option 2: Alternatively, the account administrator can invite you to provide your app’s client ID. The BIM 360 administrator can add your app through an invitation with the following steps:
In the administrator’s BIM 360 Account Admin page, under Settings select the Custom Integrations tab.
Account administrators who do not see Custom Integrations or Apps may not have a BIM 360 license appropriate for accessing or adding apps. Email Autodesk to request activation of the Custom Integration (Apps) tab if either tab is missing from your account’s Settings page.
The administrator should click Add Custom Integration, and then invite your email address by selecting Invite a developer.
Once you have received the invitation, you’ll be prompted to provide your app’s client ID and name.
Finally, the administrator must approve your app.
After completing the steps above, your app can guide the BIM 360 account's users through the Kloudless OAuth flow in order to access their data via the Kloudless Autodesk Connector.
# Data Access
# Autodesk Forge data hierarchy
Kloudless uses the Autodesk Forge API to provide a single point of access to
BIM 360 Docs and related information. We do that by first listing Hubs when a
user opens the File Picker to browse through their files, or an API request is
made to Kloudless to access the root
folder. Hubs are an Autodesk term,
as described on
this page:
Hubs represent BIM 360 Team hubs, Fusion Team hubs (formerly known as A360 Team hubs), A360 Personal hubs, or BIM 360 Docs accounts. Team hubs include BIM 360 Team hubs and Fusion Team hubs (formerly known as A360 Team hubs). Personal hubs include A360 Personal hubs.
Each hub contains a list of projects:
A project represents a BIM 360 Team project, a Fusion Team project, a BIM 360 Docs project, or an A360 Personal project.
Projects have folders, within which there are other folders and files.
# Activity Monitoring
Autodesk only supports configuring a single webhook per BIM 360 project. This means that it is not possible for Kloudless to monitor the same shared BIM 360 project through multiple end-user accounts authenticated with Kloudless. Only the first account authenticated would successfully configure webhooks for the BIM 360 project; any activity Kloudless receives from Autodesk Forge for this project would therefore be published to that Kloudless account's activity stream.
To expand on this further, retrieving the root
folder of an account
authenticated via Kloudless via the Storage API returns "hubs", which is an
Autodesk term. Each hub contains projects that each have a root folder.
Kloudless registers a webhook on the root folder of each project. the Autodesk
Forge API limits each root folder to only have a single webhook at any given
point in time.
Therefore, it is advisable to request customers to only have a single user grant BIM 360 access.
# Required Scopes
Autodesk and BIM 360 does not require additional setup for scopes/permissions.
# Support
Please contact us at support@kloudless.com with any questions you may have. We'd be happy to help you get set up.