# Quick start
# Create an application
The first step is to create an application. Follow the guide to create your application and come back here to follow the next steps once you get a client_id
and a client_secret
.
# Get your Access Token
Once you have created your app, you have a client_id
and a client_secret
that you can exchange for an Access Token through an HTTP call. You will need this Access Token for every call of the bimdata’s API
curl --request POST "https://iam.bimdata.io/auth/realms/bimdata/protocol/openid-connect/token" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
WARNING
This API call doesn’t accept JSON. Be sure to use application/x-www-form-urlencoded encoding.
Once you have the access_token, you can start doing API calls!
# Create a Cloud
Next, let's create a Cloud. A Cloud is a configurable space where projects are created. All projects in this Cloud share the Cloud’s configuration.
A Cloud just needs a name:
curl --request POST 'https://api.bimdata.io/cloud' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data '{"name": "My First Cloud"}'
You get a Cloud ID in the response. We need it for our next API call.
# Create a Project
Once you have your first Cloud, you can create your first Project. For this tutorial, we will use a special endpoint that creates a demo Project with our demo Model: createDemo.
curl --request POST 'https://api.bimdata.io/cloud/YOUR_CLOUD_ID/create-demo' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
You receive back the created Project (its ID).
# Retrieve a Model
Let’s retrieve the Model in the demo project using the getIfcs endpoint!
curl --request GET 'https://api.bimdata.io/cloud/YOUR_CLOUD_ID/project/YOUR_PROJECT_ID/ifc' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
You get an array of the Models in the Project. Keep the IFC ID, you need it in the next call.
# Get properties
With the IFC ID we get from the previous call, let’s get the properties of all the doors of the Model.
curl --request GET 'https://api.bimdata.io/cloud/YOUR_CLOUD_ID/project/YOUR_PROJECT_ID/ifc/YOUR_IFC_ID/element/simple?type=IfcDoor' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
And it’s done! 🎉 You get all the properties of all the doors of the Model!