Help us improve the Bimplus API doc by providing your valuable comments. You can find the comment section at the bottom of the page.
Standard Procedure
Developers please use https://api-stage.bimplus.net/v2 (stage version of Bimplus API) and http://portal-stage.bimplus.net/ (stage version of Shop/Portal) for testing purposes. The production version of the portal is located under https://portal.bimplus.net/ and the base url of the API is different for the production version.
Generally, the Bimplus REST API calls consist of five steps for accessing the resources.
1. Developer Registration
Generally our portal Allplan Bimplus is the first place of contact of the user for using the Bimplus platform.
Please do the developer registration here .
You can find step by step manual here.
When you have any problems with the registration contact us here.
2. Authentication token request
The authentication request for accessing the BimPlus resource should be sent in the JSON format using the OIDC Authorization service. The registered user name and password in the Bimplus portal should be provided here.
For example, you can enable the OAuth 2.0 authentication process directly in your REST-client and it will automatically create and refresh tokens when needed.
It is recommended to use browser UI to login and logout with OIDC server. For this process, you can specify discovery URL and retrieve JSON with latest settings there.
Environment | Discovery URL |
---|---|
Development | https://api-dev.bimplus.net/v2/.well-known/openid-configuration |
Stage | https://api-stage.bimplus.net/v2/.well-known/openid-configuration |
Production | https://api.bimplus.net/v2/.well-known/openid-configuration |
Received token should be directly used to access BimPlus resources after receiving it from OIDC. Refreshing and revoking of the tokens are also managed by OIDC, not BimPlus. Old authentication service in BimPlus remains only for backward compatibility and will be removed in 2026.
Please, use the client_id from the request and regenerate the token (using the same API call with client_id as the additional parameter) for having the possibility to login multiple times at the same time. For more information, see here
URL: https://api-stage.bimplus.net/v2/authorize
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
user_id |
mandatory |
string |
The email address of the user |
password |
mandatory |
string |
The user's password |
client_id |
optional |
string |
The identifier of the used client (browser, Apps etc) |
application_id |
mandatory |
string |
The id of the application |
Content-Type: application/json
{ "user_id" : "test@bimplus.net", "password" : "test", "application_id" : "6C12345D9B0C4F3C23ABB5721D098F7B" }
Status: 200 OK
{ "access_token": "9c1874a62c974dcfa75e0132c423a088", "expires_in": 2591999, "client_id" : "1FD44C0E-DCB4-11E2-A114-67286288709B" "token_type": "BimPlus" }
3. Receive the authentication token
Obsolete. The token is received in the request.
URL: https://api-stage.bimplus.net/v2/authorize
Content-Type: application/json
{ "user_id" : "test@bimplus.net", "password" : "test", "application_id" : "6C12345D9B0C4F3C23ABB5721D098F7B" }
Status: 200 OK
{ "access_token": "9c1874a62c974dcfa75e0132c423a088", "expires_in": 2591999, "client_id" : "1FD44C0E-DCB4-11E2-A114-67286288709B" "token_type": "BimPlus" }
where,
access_token |
The token to be used in any further API calls within the HTTP headers |
expires_in |
The remaining lifetime on the access token in seconds |
client_id |
The identifier of the used client (browser, Apps etc) |
token_type |
The type of token – currently we use ‚bimplus‘ |
4. Get the team information
The team has to be specified and setup through the Bimplus portal as so-called slugs to present a clean URL . Slugs are lowercase unique identifiers based on English characters and numbers. The team slug will be used to know which tenant database to work on.
URL: https://api-stage.bimplus.net/v2/teams
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[2] 0: { id: "82884f54-96bf-4e9c-a2fb-44db8379378d" slug: "nemetschek" name: "Nemetschek" owner: "132a78a5-b523-4bf2-8382-7098fac3f803" totalStorage: 0 storageStats: null status: "Active" teamWorksConnection: "RGF0YSBTb3VyY2U9YmltcGx1cy5tYW50cm8ubmV0OyBJbml0aWFsIENhdGFsb2c9QmltUGx1cy5UZW5hbnQuRGV2OyBVc2VyIElkPWRiYmltbWFudHJvdGVzdDsgUGFzc3dvcmQ9MWprdGNudG9DcU9qeGtIMU9QOXg7IENvbm5lY3QgdGltZW91dD0xMA==" dataStorageStatus: "Online" }- 1: { id: "7eab1453-a4e7-4d05-983e-031544540e6f" slug: "bimplus-demo" name: "BimPlus Demo" owner: "5592c628-588e-f5c0-b08b-088d43de9209" totalStorage: 53687091200 storageStats: null status: "Active" teamWorksConnection: "RGF0YSBTb3VyY2U9YmltcGx1cy5tYW50cm8ubmV0O0luaXRpYWwgQ2F0YWxvZz1CaW1QbHVzLlRlbmFudC5iaW1wbHVzLWRlbW87VXNlciBJRD1iaW1wbHVzLWRlbW87UGFzc3dvcmQ9YWI3ZDRmNDc5ZGM4YjI1Yjg2MDc0Y2ZmZTNiNDBjZmY2OWQwNzQ1YjtDb25uZWN0IFRpbWVvdXQ9MTA=" dataStorageStatus: "Online" }
5. Request the desired resource
Using the authentication token and the team slug, the necessary resource can be accessed and the desired action can be performed on that resource using the Bimplus REST API .
For example, we can use this token to get the project list.
URL: https://api-stage.bimplus.net/v2/<team>/projects
Example: https://api-stage.bimplus.net/v2/nemetschek/projects
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[3] 0: { id: "c8c8e6f2-4495-484c-929d-0049f1f9d4ff" name: "!!!!!_VORTEILSHAUS V40 SD45 Traufeingang" }- 1: { id: "2d703abe-b4f9-407c-af53-a39c5b7ba872" name: "__5 999 Parklife Salzburg Lehen" }- 2: { id: "c480cc54-aec4-4bef-8d35-93bb090e1aba" name: "0811-Wohnhaus Kraus - Carport1" }
Tools
Plugins for doing REST based calls (REST Client)
Chrome --> Advanced REST client, Postman - REST client, Simple REST client
Firefox --> RESTClient
For validating or formatting JSON --> http://jsonlint.com/
1 Comment
Jörg Velletti
Step 2: I think it will be better to change the json example from
{
"user_id"
:
"test@bimplus.net"
,
"password"
:
"test"
,
"application_id"
:
"6C12345D9B0C4F3C23ABB5721D098F7B"
}
to
{
"user_id"
:
"YourEmail@example.com"
,
"password"
:
"yourPassword"
,
"application_id"
:
"6C12..The-ID-You-got-from-Support..F7B"
}
or some other hint that shows that the Application ID 6C12345D9B0C4F3C23ABB5721D098F7B is just an example