Custom attribute Service


Bimplus DB

Team DB

Important: All the APIs described in the Bimplus DB section applies to the Team DB as well. Replace the keyword "content" with the "team_slug" for working with the custom attributes & attribute groups in Team DB.

eg: Bimplus DB: https://api-stage.bimplus.net/v2/content/freeattributegroups. Similar call in Team DB will be https://api-stage.bimplus.net/v2/<team_slug>/freeattributegroups.

Team DB contains some additional APIs for working with attribute templates which are specified in this section.

Project Attribute Templates

Attribute Templates

Element-type filter

 

Custom attribute Service


Using these services, custom property groups & its associated properties can be created.

Create a new custom group in Bimplus DB


Resource: content/freeattributegroups

URLhttps://api-stage.bimplus.net/v2/content/freeattributegroups

Example: https://api-stage.bimplus.net/v2/content/freeattributegroups

JSON Structure

Name

Mandatory / Optional

Type

Description

name

mandatory

string

Name of the attribute group

description

optional

string

Short description of the attribute group

parent

optional

string (guid)

Parent attribute group. If not specified, then the created group is a stand-alone group

childrenwill be ignoredjsonSub groups



 POST


 Creates a new custom attribute group. The created group could be either stand-alone ( parent not specified ), or created inside another group (the id of the parent has to be specified)



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
  "name": "TestGroup",
  "description": "Test group",
  "parent" : "6e57160e-5d5d-46a4-b4d3-b9e46d03ee75"
}




Status: 201 Created


{
  "id": "da9c6db5-92fa-473d-9282-483c40907a95",
  "name": "TestGroup",
  "description": "Test group",
  "parent" : "6e57160e-5d5d-46a4-b4d3-b9e46d03ee75"
}



Get all the free attribute groups from the Bimplus DB


Resource: content/freeattributegroups

URLhttps://api-stage.bimplus.net/v2/content/freeattributegroups

Examplehttps://api-stage.bimplus.net/v2/content/freeattributegroups


 GET


 Get all the free attribute groups from the Bimplus DB



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


 [
    {
        "id": "81a39304-9d4a-4e8d-826e-7736b9350562",
        "name": "ALLFA Attributes",
        "description": ""
    },
    {
        "id": "e6b44081-8983-4c07-b1a7-2c43bc199927",
        "name": "Allplan Attributes",
        "description": ""
    },
    {
        "id": "af12dda5-dafe-4b05-adeb-638617cc6907",
        "name": "BaseQuantities",
        "description": ""
    },
    {
        "children": [
            {
                "parent": "073245c3-6ed4-40a0-9146-ecd1eb111500",
                "id": "170820da-de29-437a-aa97-f7984a319890",
                "name": "Element",
                "description": "tabAttribbElement"
            },
            {
                "parent": "073245c3-6ed4-40a0-9146-ecd1eb111500",
                "id": "af946941-5a14-4c6a-be9f-424ca59b10b5",
                "name": "Element State",
                "description": "tabAttribbElementState"
            },
            {
                "parent": "073245c3-6ed4-40a0-9146-ecd1eb111500",
                "id": "0f6906f2-305d-4899-979a-6ce1e49af6a9",
                "name": "General",
                "description": "tabAttribGeneral"
            },
            {
                "parent": "073245c3-6ed4-40a0-9146-ecd1eb111500",
                "id": "66c2ba5e-8a70-40b8-9918-fccd1663f3bb",
                "name": "IFC",
                "description": "tabAttribIFC"
            }
        ],
        "id": "073245c3-6ed4-40a0-9146-ecd1eb111500",
        "name": "Bimplus Property Sets",
        "description": ""
    },
    {
        "id": "5d184904-fab5-4e53-9916-e9c20c4e31b7",
        "name": "Building Attribute",
        "description": ""
    },
    {
        "id": "1b567ec2-4a10-43ba-b791-45f288866808",
        "name": "CostPlanning",
        "description": "DIN276"
    },
    {
        "id": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8",
        "name": "Engineering Attributes",
        "description": ""
    },
    {
        "id": "1d9b883c-ecf5-4b91-b6a0-adea66432f6c",
        "name": "Identity Data",
        "description": ""
    },
    {
        "children": [
            {
                "parent": "99b99afa-abed-4a9e-99be-f2d3a2cb29de",
                "id": "6f496c13-e153-4ebd-8662-f00fe3e81e20",
                "name": "Pset_StairCommon",
                "description": ""
            }
        ],
        "id": "99b99afa-abed-4a9e-99be-f2d3a2cb29de",
        "name": "IFC",
        "description": ""
    },
    {
        "id": "cf83b687-b7ff-466b-9c15-853488455c5b",
        "name": "MEP Attribute",
        "description": ""
    },
    {
        "id": "969df3d1-5e79-4eea-aca9-5758d0026b39",
        "name": "Pset_[EType]Common",
        "description": ""
    },
    {
        "id": "431754db-32e6-4fc4-b252-a647b94aa5a8",
        "name": "Space Attributes",
        "description": ""
    }
]



Get the info about a particular free attribute group


Resource: content/freeattributegroups

URLhttps://api-stage.bimplus.net/v2/content/freeattributegroups/<attributegroup_id>

Examplehttps://api-stage.bimplus.net/v2/content/freeattributegroups/b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8


 GET


 Get the info about a particular free attribute group and its sub-groups(hierarchy) It doesn't return the free attributes under this group.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


{
    "id": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8",
    "name": "Engineering Attributes",
    "description": ""
}



Update a particular free attribute group


Resource: content/freeattributegroups

URLhttps://api-stage.bimplus.net/v2/content/freeattributegroups/<id>

Example: https://api-stage.bimplus.net/v2/content/freeattributegroups/b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8

JSON Structure:

Name

Mandatory / Optional

Type

Description

name

optional

string

Name of the attribute group

description

optional

string

Short description of the attribute group

id

will be ignored

string (guid)

Id of the free attribute group



 PUT


 Update a particular free attribute group. It is also possible to move the group as a sub-group of another group by changing its parent



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
    "name": "Engineering Attributes",
    "description": "updated description"
}




Status: 200 OK


{
    "id": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8",
    "name": "Engineering Attributes",
    "description": "updated description"
}



Delete a particular free attribute group


Resource: content/freeattributegroups

URLhttps://api-stage.bimplus.net/v2/content/freeattributegroups/<id>

Examplehttps://api-stage.bimplus.net/v2/content/freeattributegroups/b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8


 DELETE


 Deletes a specified attribute group.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK



Create a free attribute under a particular attribute group or as stand-alone


Resource: content/freeattributes

URLhttps://api-stage.bimplus.net/v2/content/freeattributes

Example: https://api-stage.bimplus.net/v2/content/freeattributes

JSON Structure

Name

Mandatory / Optional

Type

Description

name

mandatory

string

Name of the attribute

description

optional

string

Short description of the attribute

type

mandatory

string

Type of free attributes. It could be one of the following: "int", "double", "string", "guid", "datetime", "binary", "boolean"
minvalueoptionalstring(numbers)Minimum value constraint of the attribute
maxvalueoptionalstring(numbers)Maximum value constraint of the attribute
defaultvalueoptionalstring(numbers)Default value of the attribute (if it's value is not specified)
decimaloptionalintNumber of decimals
unitidoptionalstring(guid)Id of the unit
optionalsymboloptionalstring(symbol)Optional symbol
visibleoptionalint0 or 1. It determines whether the attribute should be visible
changeableoptionalint0 or 1. It determines whether the attribute should be chnageable
controltypeoptionalstringThe control type (eg: "Checkbox", "Datepicker", "TextBox", "Enumeration", "Combobox")
enumDefinition

optional,

mandatory for controltypes:

"Enumeration", "Combobox"

string

Mandatory for controltype "Enumeration"

List of items - pair of key,value separated with semicolon (";") Separator of key and value is character pipe ("|")

 (eg: "0|Undefined;1|Extension;2|Finish;3|New building;4|Reconstruction;5|Building alteration")

Mandatory for controltype "Combobox"

List of items - values separated with character pipe ("|")

 (eg: "Undefined|Extension|Finish|New building|Reconstruction|Building alteration")

symbolwill be ignoredstringSymbol of the unit
parentoptionalstring(guid)Id of the attribute group. If not specified, then the created attribute is a stand-alone one.



 POST


 Creates a new custom attribute. The created attribute could be either stand-alone ( parent not specified ), or part of the custom attribute group (the id of the parent has to be specified)



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
 "name": "NewFreeAttribute",
 "description": "Test attribute",
 "type": "int",
 "minvalue" : "1",
 "maxvalue" : "1000",
 "defaultvalue" : "1",
 "decimal" : "0",
 "attribunitnameid" : "F99F40CF-DA64-4C4F-8434-CB90722BA485",
 "optionalsymbol" : "$",
 "visible" : "1",
 "changeable" : "1",
 "controltype" : "textbox",
 "parent" : "6e57160e-5d5d-46a4-b4d3-b9e46d03ee75"
}




Status: 201 Created


{
  "freeattribtype": "int",
  "minvalue": "1",
  "maxvalue": "1000",
  "defaultvalue": "1",
  "decimal": 0,
  "attribunitnameid": "f99f40cf-da64-4c4f-8434-cb90722ba485", --> unitId (we already know it is attribute)
  "symbol": "mm",
  "optionalsymbol": "$",
  "visible": 1,
  "changeable": 1,
  "controltype": "textbox", --> The client should decide
  "id": "d6cac39a-4b6e-473f-813f-87f7fb92d3fe",
  "name": "NewFreeAttribute",
  "description": "Test attribute",
  "parent" : "6e57160e-5d5d-46a4-b4d3-b9e46d03ee75"
}



Get all the free attributes from the Bimplus DB


Resource: content/freeattributes

URLhttps://api-stage.bimplus.net/v2/content/freeattributes

Examplehttps://api-stage.bimplus.net/v2/content/freeattributes?filter=name=Gross 

Optional query parameters

NameTypeDefault valueDescription
filterstring 

When filter "name=Gross" is defined the API will return only free attributes which Name contains requested sub-string,
e.g. if filter is "name=Gross" will be returned all free attributes which Name contains substring "Gross".
Like GrossFloorArea, GrossWallArea, GrossWeight etc.



 GET


 Get all the free attributes from the Bimplus DB



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


 [
    {
        "parent": "5d184904-fab5-4e53-9916-e9c20c4e31b7",
        "type": null,
        "id": "8d3d9dd5-c998-465b-b13e-87901c90f3bc",
        "name": "heat transfer coefficient"
    },
    {
        "parent": "5d184904-fab5-4e53-9916-e9c20c4e31b7",
        "type": null,
        "id": "a6645047-39ee-4c87-9fc3-14ccca0c50ac",
        "name": "density"
    },
    {
        "parent": "431754db-32e6-4fc4-b252-a647b94aa5a8",
        "type": null,
        "id": "8807e401-6e3c-4536-88e1-e834d4de745d",
        "name": "floor area"
    },
    {
        "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8",
        "type": null,
        "id": "b5850e23-b1df-4d4f-aae8-cee0d4bb06e6",
        "name": "bend radius"
    },
.....
] 



Get all the free attributes under a attribute group


Resource: freeattributes

URLhttps://api-stage.bimplus.net/v2/content/freeattributegroups/<attributegroup_id>/freeattributes

Examplehttps://api-stage.bimplus.net/v2/content/freeattributegroups/b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8/freeattributes


 GET


 Get all the free attributes under a attribute group



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


 [
    {
        "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8",
        "type": "double",
        "minvalue": "0",
        "decimal": 2,
        "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485",
        "unit": "mm",
        "visible": 1,
        "changeable": 0,
        "controltype": "TextBox",
        "id": "b5850e23-b1df-4d4f-aae8-cee0d4bb06e6",
        "name": "bend radius",
        "description": "bend diameter for reinforcement bars"
    },
    {
        "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8",
        "type": "double",
        "minvalue": "0",
        "defaultvalue": "5",
        "decimal": 2,
        "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485",
        "unit": "mm",
        "visible": 1,
        "changeable": 0,
        "controltype": "TextBox",
        "id": "c4623c1b-dfd3-4117-af37-091eaaff60bf",
        "name": "concrete cover",
        "description": "the least distance between the surface of embedded reinforcement and the outer surface of the concrete"
    },
    {
        "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8",
        "type": "int",
        "decimal": 0,
        "visible": 1,
        "changeable": 0,
        "controltype": "TextBox",
        "id": "1c838554-3692-4ed4-afaf-989a9e59252b",
        "name": "SteelGrade",
        "description": "Kurzbez. der Stahlgüte @495@"
    },
    {
        "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8",
        "type": "int",
        "decimal": 0,
        "visible": 1,
        "changeable": 0,
        "controltype": "TextBox",
        "id": "d7ab92f4-ddf1-404b-8875-57b25b8fe66a",
        "name": "CrossSectionNumber",
        "description": "Nummer der Querschnittsreihe @496@"
    }
]



Get the info about a particular free attribute in Bimplus DB


Resource: content/freeattributes

URLhttps://api-stage.bimplus.net/v2/content/freeattributes/<attribute_id>

Examplehttps://api-stage.bimplus.net/v2/content/freeattributes/c4623c1b-dfd3-4117-af37-091eaaff60bf


 GET


 Get the info about a particular free attribute in Bimplus DB



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


{
    "type": "double",
    "minvalue": "0",
    "defaultvalue": "5",
    "decimal": 2,
    "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485",
    "unit": "mm",
    "visible": 1,
    "changeable": 0,
    "controltype": "TextBox",
    "id": "c4623c1b-dfd3-4117-af37-091eaaff60bf",
    "name": "concrete cover",
    "description": "the least distance between the surface of embedded reinforcement and the outer surface of the concrete"
}



Update a particular free attribute in Bimplus DB


Resource: content/freeattributes

URLhttps://api-stage.bimplus.net/v2/content/freeattributes/<attribute_id>

Example: https://api-stage.bimplus.net/v2/content/freeattributes/c4623c1b-dfd3-4117-af37-091eaaff60bf

JSON Structure

Name

Mandatory / Optional

Type

Description

idwill be ignoredstring(guid)Id of the free attribute

name

optional

string

Name of the attribute

description

optional

string

Short description of the attribute

type

optional

string

Type of free attributes. It could be one of the following: "int", "double", "string", "guid", "datetime", "binary", "boolean"
minvalueoptionalstring(numbers)Minimum value constraint of the attribute
maxvalueoptionalstring(numbers)Maximum value constraint of the attribute
defaultvalueoptionalstring(numbers)Default value of the attribute (if it's value is not specified)
decimaloptionalintNumber of decimals
unitidoptionalstring(guid)Id of the unit
optionalsymboloptionalstring(symbol)Optional symbol
visibleoptionalint0 or 1. It determines whether the attribute should be visible
changeableoptionalint0 or 1. It determines whether the attribute should be chnageable
controltypeoptionalstringThe control type (eg: "Checkbox", "Datepicker", "TextBox", "Enumeration", "Combobox")
enumDefinition

optional,

mandatory for controltypes:

"Enumeration", "Combobox"

string

Mandatory for controltype "Enumeration"

List of items - pair of key,value separated with semicolon (";") Separator of key and value is character pipe ("|")

 (eg: "0|Undefined;1|Extension;2|Finish;3|New building;4|Reconstruction;5|Building alteration")

Mandatory for controltype "Combobox"

List of items - values separated with character pipe ("|")

 (eg: "Undefined|Extension|Finish|New building|Reconstruction|Building alteration")

symbolwill be ignoredstringSymbol of the unit
parentoptionalstring(guid)Id of the attribute group. It is also possible to move attribute to another group by changing its parent



 PUT


 Update a particular free attribute. It is also possible to move attribute to another group by changing its parent.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
    "type": "double",
    "minvalue": "0",
    "defaultvalue": "5",
    "decimal": 2,
    "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485",
    "unit": "mm",
    "visible": 1,
    "changeable": 0,
    "controltype": "TextBox",
    "name": "concrete cover",
    "description": "updated description"
}




Status: 200 OK


{
    "type": "double",
    "minvalue": "0",
    "defaultvalue": "5",
    "decimal": 2,
    "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485",
    "unit": "mm",
    "visible": 1,
    "changeable": 0,
    "controltype": "TextBox",
    "id": "c4623c1b-dfd3-4117-af37-091eaaff60bf",
    "name": "concrete cover",
    "description": "updated description"
}



Delete a particular free attribute


Resource: content/freeattributes

URLhttps://api-stage.bimplus.net/v2/content/freeattributes/<id>

Examplehttps://api-stage.bimplus.net/v2/content/freeattributes/c4623c1b-dfd3-4117-af37-091eaaff60bf


 DELETE


 Deletes a specific attribute.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK



Create a new unit in Bimplus DB


Resource: content/units

URLhttps://api-stage.bimplus.net/v2/content/units

Example: https://api-stage.bimplus.net/v2/content/units

JSON Structure of unit

Name

Mandatory / Optional

Type

Description

name

mandatory

string

Name of the unit

description

optional

string

Short description of the unit

unitmandatorystringSymbol of the unit
contexUnitTypeoptionalstringContext unit type
baseunitsoptionalarray of jsonsList of base units

 

The "baseunits" property is an array of jsons with following definitions :

NameMandatory/OptionalTypeDescription
baseunitidoptionalstring(guid)Base unit ID
usequenceoptionalintUnit sequence (default is 1)
upoweroptionalintUnit power (default is 1)

ufactor

optional

int

Unit factor (default is 1)



 POST


Creates a new unit. An unit can be created fresh(base unit) or it can be derived from one or more base units ( defined by property "baseunits" ).

Here is a simple explanation of how to create a derived unit, e.g. gram per square meter "g/m2" :

"baseunits": [
      {
        "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d", // ID of kilogram "kg"
        "usequence": 1,   // first in the sequence
        "ufactor": 0.001, // gram is 0.001 * kg
        "upower": 1       // no power used
      },
      {
        "baseunitid": "7be3452a-47f9-4fd8-bd94-ef6c967d684e",  // ID of meter "m"
        "usequence": 2,   // second in the sequence
        "ufactor": 1,     // 1 * meter
        "upower": -1      // meter ^-1
      }
    ]




Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
  "name": "MyDerivedUnit",
  "description": "Example of derived unit",
  "symbol": "Sym",
  "baseunits" : [
      {
            "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d",
            "usequence": 1,
            "ufactor": 2,
            "upower": 3
      }
  ]
}




Status: 201 Created


{
  "id": "9c75f2e7-bf66-4274-96a6-fb61ecb0e21a",
  "name": "MyDerivedUnit",
  "description": "Example of derived unit",
  "symbol": "Sym",
  "baseunits" : [
      {
            "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d",
            "usequence": 1,
            "ufactor": 2,
            "upower": 3
      }
  ]
}



Get all the units from Bimplus DB


Resource: content/units

URLhttps://api-stage.bimplus.net/v2/content/units

Examplehttps://api-stage.bimplus.net/v2/content/units

Optional query parameters

NameTypeDefault valueDescription
symbolstring 

When symbol "kg" is defined the API returns all the unit with the specified symbol name.

e.g. "https://api-stage.bimplus.net/v2/content/units?symbol=kg"



 GET


 Get all the units from Bimplus DB.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


[
    {
    "unit": "€",
    "contextUnitType": "CURRENCYUNIT",
    "id": "85fae1e9-5774-4bce-9831-911c8ff0d6b2",
    "name": "Currency",
    "description": "base unit for currency"
  },
  {
    "unit": "W/(m2*K)",
    "contextUnitType": "THERMALTRANSMITTANCEUNIT",
    "baseunits": [
      {
        "baseunitid": "cbd91636-49fa-4a4f-bdcc-03f27ca205f8",
        "usequence": 1,
        "ufactor": 1,
        "upower": -1
      }
    ],
    "id": "32ef9505-baa6-4598-b372-8e050aef57d4",
    "name": "Watt_per_square_meter_per_Kelvin",
    "description": "unit for heat transfer coefficient"
  },
  {
    "unit": "mm",
    "contextUnitType": "LENGTHUNIT",
    "baseunits": [
      {
        "baseunitid": "7be3452a-47f9-4fd8-bd94-ef6c967d684e",
        "usequence": 1,
        "ufactor": 0.001,
        "upower": 1
      }
    ],
    "id": "f99f40cf-da64-4c4f-8434-cb90722ba485",
    "name": "mm",
    "description": "unit for length in millimeter"
  },
......
] 



Get the info about a particular unit in Bimplus DB


Resource: content/units

URLhttps://api-stage.bimplus.net/v2/content/units/<unit_id>

Examplehttps://api-stage.bimplus.net/v2/content/units/3b871b65-516e-4e7e-a35f-faa7501d5d0d


 GET


 Get the info about a particular unit in Bimplus DB.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


{
    "unit": "mm",
    "contextUnitType": "LENGTHUNIT",
    "baseunits": [
      {
        "baseunitid": "7be3452a-47f9-4fd8-bd94-ef6c967d684e",
        "usequence": 1,
        "ufactor": 0.001,
        "upower": 1
      }
    ],
    "id": "f99f40cf-da64-4c4f-8434-cb90722ba485",
    "name": "mm",
    "description": "unit for length in millimeter"
  }



Update a particular unit


Resource: content/units

URLhttps://api-stage.bimplus.net/v2/content/units/<id>

Example: https://api-stage.bimplus.net/v2/content/units/3b871b65-516e-4e7e-a35f-faa7501d5d0d

JSON Structure: See Create Unit


 PUT


 Update a particular unit.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
  "name": "MyDerivedUnit updated",
  "description": "Example of derived unit",
  "symbol": "Sym",
  "baseunits" : [
      {
            "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d",
            "usequence": 1,
            "ufactor": 2,
            "upower": 3
      }
  ]
}




Status: 200 OK


{
  "id": "9c75f2e7-bf66-4274-96a6-fb61ecb0e21a",
  "name": "MyDerivedUnit updated",
  "description": "Example of derived unit",
  "symbol": "Sym",
  "baseunits" : [
      {
            "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d",
            "usequence": 1,
            "ufactor": 2,
            "upower": 3
      }
  ]
}



Delete a particular unit


Resource: content/units

URLhttps://api-stage.bimplus.net/v2/content/units/<unit_id>

Examplehttps://api-stage.bimplus.net/v2/content/units/3b871b65-516e-4e7e-a35f-faa7501d5d0d 


 DELETE


 Deletes the specific unit.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK



Create new project attribute template in team


Resource: projectattributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates

Example: https://api-stage.bimplus.net/v2/bimplus/projectattributetemplates

JSON Structure

Name

Mandatory / Optional

Type

Description

name

mandatory

string

Unique name of the project attribute template

description

optional

string

Short description of the project attribute template



 POST


Creates a new project attribute template.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
  "name": "My project attribute template",
  "description": "Project attribute template for my team",
}




Status: 201 Created


{
  "name": "My project attribute template",
  "description": "Project attribute template for my team",
  "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
}




Get the list of existing project attribute templates in team


Resourceprojectattributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates

Examplehttps://api-stage.bimplus.net/v2/bimplus/projectattributetemplates


 GET


 Get all the project attribute templates that belongs to a team. Each team has at least one default project attribute template.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


[
  {
    "name": "Default",
    "description": "Default project attribute template",
    "id": "0149c4a8-4e84-4c40-bfdd-5dd63b109266"
  },
  {
    "name": "My project attribute template",
    "description": "Project attribute template for my team",  
    "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
  }
]



Get the info about a particular project attribute template


Resource: projectattributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates/<projectattributetemplates_id>

Examplehttps://api-stage.bimplus.net/v2/bimplus/projectattributetemplates/49d13da3-2acf-4f0b-b667-40fc0197585f


 GET


Get the info about a particular project attribute template that belongs to a particular team.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


 {
    "name": "My project attribute template",
    "description": "Project attribute template for my team",  
    "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
 }



Update a particular project attribute template


Resource: projectattributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates

Example: https://api-stage.bimplus.net/v2/bimplus/projectattributetemplates/49d13da3-2acf-4f0b-b667-40fc0197585f

JSON Structure: See Create project attribute template


 PUT


 Update a particular project attribute template that belongs to a particular team.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
    "name": "My project attribute template2",
    "description": "Project attribute template for my team2",  
 }




Status: 200 OK


{
  "name": "My project attribute template2",
  "description": "Project attribute template for my team2",
  "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
}



Delete the project attribute template


Resource: projectattributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates

Examplehttps://api-stage.bimplus.net/v2/bimplus/projectattributetemplates/49d13da3-2acf-4f0b-b667-40fc0197585f


 DELETE


 Deletes the specific project attribute template.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK



Copy attribute templates from source to target project attribute template


Resource: projectattributetemplates/<targetprojectattributetemplates_id>/copyfrom

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates/<targetprojectattributetemplates_id>/copyfrom

Example:https://api-stage.bimplus.net/v2/bimplus/projectattributetemplates/49d13da3-2acf-4f0b-b667-40fc0197585f/copyfrom

JSON Structure 

Name

Mandatory / Optional

Type

Description

name

will be ignored

string

Name of the project attribute template

description

will be ignored

string

Description of the project attribute template

idmandatorystring(guid)Unique guid of the source project attribute template

 


PUT


Updates the specified target project attribute template with all attribute templates from source project attribute template.
When project attribute template id is missing will be used internally default project attribute template (Guid as "0149c4a8-4e84-4c40-bfdd-5dd63b109266") as a source  project attribute template.

Note:
In case when some attribute templates are already assigned to target project attribute template and the same attribute template is present also in source project attribute template,
in such case attribute templates will be added to target project attribute template.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
    "name": "Default",
    "description": "Default project attribute template",
    "id": "0149c4a8-4e84-4c40-bfdd-5dd63b109266"
}




Status: 200 OK


{
  "name": "My project attribute template",
  "description": "Project attribute template for my team",
  "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
}



Create an attribute template


Resource: attributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/attributetemplates

Example: https://api-stage.bimplus.net/v2/bimplus/attributetemplates

JSON Structure

Name

Mandatory / Optional

Type

Description

name

mandatory

string

Name of the attribute template

description

optional

string

Short description of the attribute template

projectAttributeTemplatemandatorystring(guid)Guid of the project attribute template
freeattributesoptionalJSON Array

List of free attributes directly under this template ( in create, only IDs of those attributes are required )

The List defines also automatically the orderNumber of the attributes inside of the template

elementtypesmandatoryJSON ArrayList of element type ids to which the template will be assigned. At least one element type is mandatory.
groupsoptionalJSON ArraySub-groups of attributes
createdwill be ignoredstring ( Date )Creation date
createdBywill be ignoredJSON ( User )User who created the template
changedwill be ignoredstring ( Date )Date of last modification
changedBywill be ignoredJSON ( User )User who did the modification
orderNumberoptionalintegerwill be used for ordering current attribute template to existing templates
0 -> this template will be added at the end of all templates.
1...n -> this template will be added at a fixed position; all other templates will be reordered automatically

 

The property "groups" has following JSON structure:

NameMandatory / OptionalTypeDescription
namemandatorystringName of the group
descriptionoptionalstringGroup description
freeattributesoptionalJson ArrayList of free attributes directly under this group ( in create, only IDs of those attributes are required )
groupsoptionalJson ArrayList of subgroups of this group.



 POST


Creates a new attribute template using free attributes & element types. For both free attributes and element types, it is enough to specify just their IDs in the request, the rest of the data will be loaded automatically from the database, and returned in the response.

Free attributes may be directly under the template, or you could use the "groups" property to create a logical hierarchy of attributes in groups.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
  "name": "My attribute template",
  "description": "Attribute template for Walls",
  "elementtypes": [
    {
      "id": "10074EEF-9418-4D64-9C6D-23932835A7F1"
    }
  ],
  "groups": [
    {
      "name": "Group 1",
      "description": "One of the top groups",
      "freeattributes": [
        {
          "id": "06124729-2778-4c16-98d1-9d89e760b195"
        }
      ]
    },
    {
      "name": "Group 2",
      "groups": [
        {
          "name": "SubGroup 3",
          "description": "Some sub group",
          "freeattributes": [
            {
              "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5"
            }
          ]
        }
      ]
    }
  ],
  "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285"
}




Status: 201 Created


{
  "name": "My attribute template",
  "description": "Attribute template for Walls",
  "elementtypes": [
    {
      "type": "Wall",
      "category": "/1/10/1/",
      "name": "ID_ArchWall",
      "ifcType": "ID_IFCWallStandardCase",
      "id": "10074eef-9418-4d64-9c6d-23932835a7f1"
    }
  ],
  "groups": [
    {
      "id": "960005e0-c24b-44c1-a4e7-cc2d7316c1f3",
      "name": "Group 1",
      "description": "One of the top groups",
      "freeattributes": [
        {
          "type": "string",
          "decimal": 0,
          "changeable": 0,
          "id": "06124729-2778-4c16-98d1-9d89e760b195",
          "name": "FireRating",
          "description": ""
        }
      ]
    },
    {
      "id": "0f2ff22f-070d-4bbd-a67d-d2f47f1737ee",
      "name": "Group 2",
      "groups": [
        {
          "id": "e3a56ecd-3c75-40d3-8de7-fdaa1ba2eb4f",
          "name": "SubGroup 3",
          "description": "Some sub group",
          "freeattributes": [
            {
              "type": "int",
              "decimal": 0,
              "changeable": 0,
              "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5",
              "name": "LoadBearing",
              "description": ""
            }
          ]
        }
      ]
    }
  ],
  "created": "2016-02-12T07:21:33.43",
  "createdby": {
    "id": "7c555899-5a5f-44d1-930e-284930678bed",
    "email": "test@nemetschek.com"
  },
  "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285",
  "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
}



Get all the attribute templates that belongs to a team


Resource: attributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/attributetemplates

Examplehttps://api-stage.bimplus.net/v2/bimplus/attributetemplates


 GET


 Get all the attribute templates that belongs to a team.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


[
  {
    "name": "My attribute template",
    "description": "Attribute template for Walls",
    "elementtypes": [
      {
        "type": "Wall",
        "category": "/1/10/1/",
        "name": "ID_ArchWall",
        "ifcType": "ID_IFCWallStandardCase",
        "id": "10074eef-9418-4d64-9c6d-23932835a7f1"
      }
    ],
    "groups": [
      {
        "id": "960005e0-c24b-44c1-a4e7-cc2d7316c1f3",
        "name": "Group 1",
        "description": "One of the top groups",
        "freeattributes": [
          {
            "type": "string",
            "decimal": 0,
            "changeable": 0,
            "id": "06124729-2778-4c16-98d1-9d89e760b195",
            "name": "FireRating",
            "description": ""
          }
        ]
      },
      {
        "id": "0f2ff22f-070d-4bbd-a67d-d2f47f1737ee",
        "name": "Group 2",
        "groups": [
          {
            "id": "e3a56ecd-3c75-40d3-8de7-fdaa1ba2eb4f",
            "name": "SubGroup 3",
            "description": "Some sub group",
            "freeattributes": [
              {
                "type": "int",
                "decimal": 0,
                "changeable": 0,
                "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5",
                "name": "LoadBearing",
                "description": ""
              }
            ]
          }
        ]
      }
    ],
    "created": "2016-02-12T07:21:33.43",
    "createdby": {
      "id": "7c555899-5a5f-44d1-930e-284930678bed",
      "email": "test@nemetschek.com"
    },
    "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285",
    "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
  },
  ...
]



Get the info about a particular attribute template


Resource: attributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/attributetemplates/<template_id>

Examplehttps://api-stage.bimplus.net/v2/bimplus/attributetemplates/3e5c0964-8f28-469b-b176-bcfad48f2eef


 GET


 Get the info about a particular attribute template that belongs to a particular team.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


{
  "name": "My attribute template",
  "description": "Attribute template for Walls",
  "elementtypes": [
    {
      "type": "Wall",
      "category": "/1/10/1/",
      "name": "ID_ArchWall",
      "ifcType": "ID_IFCWallStandardCase",
      "id": "10074eef-9418-4d64-9c6d-23932835a7f1"
    }
  ],
  "groups": [
    {
      "id": "960005e0-c24b-44c1-a4e7-cc2d7316c1f3",
      "name": "Group 1",
      "description": "One of the top groups",
      "freeattributes": [
        {
          "type": "string",
          "decimal": 0,
          "changeable": 0,
          "id": "06124729-2778-4c16-98d1-9d89e760b195",
          "name": "FireRating",
          "description": ""
        }
      ]
    },
    {
      "id": "0f2ff22f-070d-4bbd-a67d-d2f47f1737ee",
      "name": "Group 2",
      "groups": [
        {
          "id": "e3a56ecd-3c75-40d3-8de7-fdaa1ba2eb4f",
          "name": "SubGroup 3",
          "description": "Some sub group",
          "freeattributes": [
            {
              "type": "int",
              "decimal": 0,
              "changeable": 0,
              "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5",
              "name": "LoadBearing",
              "description": ""
            }
          ]
        }
      ]
    }
  ],
  "created": "2016-02-12T07:21:33.43",
  "createdby": {
    "id": "7c555899-5a5f-44d1-930e-284930678bed",
    "email": "test@nemetschek.com"
  },
  "changed": "2016-02-12T07:22:51.02",
  "changedby": {
    "id": "7c555899-5a5f-44d1-930e-284930678bed",
    "email": "test@nemetschek.com"
  },
  "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285",
  "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
}



Update a particular attribute template


Resource: attributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/attributetemplates

Example: https://api-stage.bimplus.net/v2/bimplus/attributetemplates/3e5c0964-8f28-469b-b176-bcfad48f2eef

JSON Structure: See Create attribute template


 PUT


 Update a particular attribute template that belongs to a particular team.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
  "name": "My attribute template updated",
  "description": "Attribute template for Walls",
  "elementtypes": [
    {
      "id": "10074EEF-9418-4D64-9C6D-23932835A7F1"
    }
  ],
  "groups": [
    {
      "name": "Group 1",
      "description": "One of the top groups",
      "freeattributes": [
        {
          "id": "06124729-2778-4c16-98d1-9d89e760b195"
        }
      ]
    },
    {
      "name": "Group 2",
      "groups": [
        {
          "name": "SubGroup 3",
          "description": "Some sub group",
          "freeattributes": [
            {
              "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5"
            }
          ]
        }
      ]
    }
  ],
  "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285",
}




Status: 200 OK


{
  "name": "My attribute template updated",
  "description": "Attribute template for Walls",
  "elementtypes": [
    {
      "type": "Wall",
      "category": "/1/10/1/",
      "name": "ID_ArchWall",
      "ifcType": "ID_IFCWallStandardCase",
      "id": "10074eef-9418-4d64-9c6d-23932835a7f1"
    }
  ],
  "groups": [
    {
      "id": "960005e0-c24b-44c1-a4e7-cc2d7316c1f3",
      "name": "Group 1",
      "description": "One of the top groups",
      "freeattributes": [
        {
          "type": "string",
          "decimal": 0,
          "changeable": 0,
          "id": "06124729-2778-4c16-98d1-9d89e760b195",
          "name": "FireRating",
          "description": ""
        }
      ]
    },
    {
      "id": "0f2ff22f-070d-4bbd-a67d-d2f47f1737ee",
      "name": "Group 2",
      "groups": [
        {
          "id": "e3a56ecd-3c75-40d3-8de7-fdaa1ba2eb4f",
          "name": "SubGroup 3",
          "description": "Some sub group",
          "freeattributes": [
            {
              "type": "int",
              "decimal": 0,
              "changeable": 0,
              "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5",
              "name": "LoadBearing",
              "description": ""
            }
          ]
        }
      ]
    }
  ],
  "created": "2016-02-12T07:21:33.43",
  "createdby": {
    "id": "7c555899-5a5f-44d1-930e-284930678bed",
    "email": "test@nemetschek.com"
  },
  "changed": "2016-02-12T07:22:51.02",
  "changedby": {
    "id": "7c555899-5a5f-44d1-930e-284930678bed",
    "email": "test@nemetschek.com"
  },
  "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285",
  "id": "49d13da3-2acf-4f0b-b667-40fc0197585f"
}



Delete a particular attribute template


Resource: attributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/attributetemplates

Examplehttps://api-stage.bimplus.net/v2/bimplus/attributetemplates/3e5c0964-8f28-469b-b176-bcfad48f2eef


 DELETE


 Deletes the specific attribute template.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK



Retrieve a list of element-types to which an attribute template can be assigned


Resource: element-types/attributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/element-types/attributetemplates

Examplehttps://api-stage.bimplus.net/v2/bimplus/element-types/attributetemplates?filter=type=Wall 

Filter: When filter is defined the API will return only element-types which Type contains requested sub-string, e.g. if filter is "type=Wall" will be returned all element-types which Type contains substring "Wall". Like Wall, CurtainWall, WallCovering, StructuralAnalysisWall, etc.

Optional query parameters

NameTypeDefault valueDescription
filterstring 

When filter "type=Wall" is defined the API will return only element-types which Type contains requested sub-string,

e.g. if filter is "type=Wall" will be returned all element-types which Type contains substring "Wall".

Like Wall, CurtainWall, WallCovering, StructuralAnalysisWall, etc.



 GET


 Retrieve a list of element-types to which an attribute template can be assigned. Please remember that attribute template can't be assigned to all element-types (i.e v2/<team_slug>/element-types)



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


 [
    {
        "type": "BuildingObject",
        "category": "/1/",
        "name": "ID_BuildingModel",
        "ifcType": null,
        "id": "0f106af0-a919-44c5-b211-15bd5ef620b6"
    },
    {
        "type": "BuildingElement",
        "category": "/1/10/",
        "name": "ID_Bauteilobjekte",
        "ifcType": null,
        "id": "34c606d8-77aa-4c1c-a19d-cf9cf222e6c5"
    },
    {
        "type": "Wall",
        "category": "/1/10/1/",
        "name": "ID_ArchWall",
        "ifcType": "ID_IFCWallStandardCase",
        "id": "10074eef-9418-4d64-9c6d-23932835a7f1"
    },
.....] 



Get the list of attribute templates that belongs to an element-type


Resource: element-types/<element_id>/attributetemplates

URLhttps://api-stage.bimplus.net/v2/<team_slug>/element-types/<element_id>/attributetemplates

Examplehttps://api-stage.bimplus.net/v2/bimplus/element-types/10074eef-9418-4d64-9c6d-23932835a7f1/attributetemplates

Optional query parameters

NameTypeDefault valueDescription
attributesstring (bool)false

By default the response doesn't include the free attribute list in returned attribute templates.

To include the free attribute list, please use the query parameter attributes=true.

e.g. https://api-stage.bimplus.net/v2/bimplus/element-types/10074eef-9418-4d64-9c6d-23932835a7f1/attributetemplates?attributes=true

projectattributetemplatestring (Guid)undefined

By default in the response are included attribute templates from all project attribute templates defined in team which belongs to requested element-type.

To be included only attribute templates which belongs to certain project attribute template, please use the projectAttributeTemplate query parameter.

e.g. https://api-stage.bimplus.net/v2/bimplus/element-types/10074eef-9418-4d64-9c6d-23932835a7f1/attributetemplates?projectattributetemplate=bb6ccf01-75f1-4581-842a-95bbe71f7285



 GET


 Get all the free attribute groups from the Bimplus DB



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


 [
    {
        "name": "Element (default Property set)",
        "description": "",
        "created": "2015-10-29T00:13:30.393",
        "createdby": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "jayaraj.purushothaman@gmail.com"
        },
        "changed": "2015-10-29T00:13:30.393",
        "changedby": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "jayaraj.purushothaman@gmail.com"
        },
        "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285",
        "id": "3f025e20-1c11-42b1-ad3b-0f6cc6fc03af"
    }
]



 

projectattributetemplate