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.



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

     POST
     Resource: authorize 

    URLhttps://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

    Obsolete. Authenticates a user and returns a token which can be used for further API calls for accessing the desired resources.
    Headers
    Content-Type: application/json
    
    JSON
    {
     "user_id" : "test@bimplus.net",
     "password" : "test",
     "application_id" : "6C12345D9B0C4F3C23ABB5721D098F7B"
    }
    Status
    Status: 200 OK
    
    JSON
    {
    "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.

       POST
       Resource: authorize 

      URLhttps://api-stage.bimplus.net/v2/authorize

       Authenticates a user and returns a token which can be used for further API calls for accessing the desired resources.
      Headers
      Content-Type: application/json
      
      JSON
      {
       "user_id" : "test@bimplus.net",
       "password" : "test",
       "application_id" : "6C12345D9B0C4F3C23ABB5721D098F7B"
      }
      Status
      Status: 200 OK
      
      JSON
      {
      "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.

         GET
         Resource: teams 

        URLhttps://api-stage.bimplus.net/v2/teams

         Get all the available teams.
        Headers
        Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
        Content-Type: application/json
        
        Status
        Status: 200 OK
        
        JSON
        [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.

           GET
           Resource: projects 

          URLhttps://api-stage.bimplus.net/v2/<team>/projects

          Examplehttps://api-stage.bimplus.net/v2/nemetschek/projects

           Get available project list with main properties.
          Headers
          Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
          Content-Type: application/json
          
          Status
          Status: 200 OK
          
          JSON
          [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 clientPostman - REST clientSimple REST client

          Firefox --> RESTClient

          For validating or formatting JSON --> http://jsonlint.com/

          • No labels

          1 Comment

          1. 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