Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Structure Service

...

A hierarchical tree structure(eg: cost structure) could be added and later retrieved from a project/object using the Structure service 

Anchor
createStructure
createStructure

...

Deck of Cards
idbimcreateStructure


card
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/structures 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/structures

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/structures

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

mandatory

string(guid)

Parent node id of the structure (for the first structure, projectId is the parentId)

name

mandatory

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nrwill be ignoredintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure
startDateoptionalstring (date)Start date ( depends on type of structure )
endDateoptionalstring (date)End date ( depends on type of structure )
attributeId
labelHTTP Method
 POST
Card
labelDescription
 Create a new structure(eg: cost structure, specification structure) under a project
optionalstring(guid)

Free attribute Id.
When this value is set, the corresponding attribute must have a suitable controlType
to define set of structures to be created. At a moment is supported only controlType "Enumeration",
for all other controlType-s is returned status 404 Not found.

variantTypeoptionalstring(guid)Variant Type Id to whom the object will be assigned.
Used only when attributeId is defined.



Card
labelHTTP Method
 POST


Card
labelDescription

 Create a new structure(eg: cost structure, specification structure) under a project.

NOTE :
When is defined attributeId of attribute with controlType "Enumeration" will be created structure hierarchy.
The structure will be created under parent element (structure or project) together with its child structures.
Child structures will be created according enumDefinition (enumeration list) of attribute (defined by attributeId).


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
  Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
  Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
  A) Sample to create single structure:
  {
     "parentId": "3904db18-cf1a-4665-9c2b-152b84293259",
     
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
    "name": "TestStructure",
     "description": "FullLifeCycleTest",
     "type": "CostStructure"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
  }
 
  B) Sample to create structure hierarchy:
  {
     "parentId": "622272da3904db18-f1ffcf1a-45ab4665-a3f09c2b-c8f1255c80e8152b84293259",
     "name": "TestStructureStatus structure",
     "descriptionattributeId": "FullLifeCycleTest"02bbe8de-c623-489f-9baa-87f8ff3205f2",
     "typedescription": "CostStructure",
Status of the project "nr": 1,(enumeration)"
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}

...

Get the structure details
}



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created


Code Block
borderColorRed
langxml
titleJSON
A) Sample to create single structure:
{
   "parentId": "3904db18-cf1a-4665-9c2b-152b84293259",
    "name": "TestStructure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure",
    "nr": 1,
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}
 
B) Sample to create structure hierarchy:
{
  "projectId": "3904db18-cf1a-4665-9c2b-152b84293259",
  "name": "Status structure",
Deck of Cards
idbimGetStructureDetails
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id> 

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

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

Card
labelHTTP Method
 GET
Card
labelDescription
 Get details of a specified structure.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK
Code Block
borderColorRed
langxml
titleJSON
{
    "name": "TestStructure",
    "description": "FullLifeCycleTestStatus of the project (enumeration)",
    "type": "CostStructuremainStructure2",
    "nr": 10,
    "colorid": 0"ee209608-19b1-40da-a089-53b20a858d41",
    "idstructuretypeid": "179439d614c1ca64-df164001-41cc438f-bd2ca2f6-74d05b7995d577ca951c488d"
}

...

Create a sub-node under the structure
Resource: structures/<structure_id> 

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

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

JSON Structure

Deck of Cards
idbimcreateSubStructure
Card
defaulttrue
labelURL / Resource / JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

mandatory

string(guid)

Parent node id of the structure (the id specified in the resource url)

name

mandatory

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nrwill be ignoredintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure
Card
labelHTTP Method
 POST
Card
labelDescription
 Create a sub-node under a particular structure
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
  "name": "Node 1"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
{
,


  "children": [
    {
      "structuretypeid": "14c1ca64-4001-438f-a2f6-77ca951c488d",
      "children": [],
      "elements": [],
      "parentId": "ee209608-19b1-40da-a089-53b20a858d41",
      "name": "Undefined",
      "description": "0",
      "type": "mainStructure2",
      "nr": 0,
      "id": "40da49c5-3f3a-4e12-a4f8-94fb829c7c1e"
    },
    {
      "structuretypeid": "14c1ca64-4001-438f-a2f6-77ca951c488d",
      "children": [],
      "elements": [],
      "parentId": "179439d6ee209608-df1619b1-41cc40da-bd2ca089-74d05b7995d553b20a858d41",
      "name": "Nodein planning 1stage",
      "typedescription": "TopologyStructure1",
      "nrtype": 1"mainStructure2",
      "colornr": 0,
      "id": "adf506aeecf9c518-36281e24-45014706-9af1-22bcf27e4ab4"8557-d29d75fb7ddc"
    },
    ......
  ],

  "elements": []
}



Anchor
getStructureTopologygetStructureDetailsgetStructureTopology
getStructureDetails

Get the structure

...

details
Deck of Cards
idbimGetStructureTopologybimGetStructureDetails


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>/topology id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/topology

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/topology


Card
labelHTTP Method
 GET


Card
labelDescription
 Get details of a specified structure.


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
{
    "parentname": null"TestStructure",
    "namedescription": "TestStructureFullLifeCycleTest",
    "type": "StructureCostStructure",
    "childrennr": [1,
        {
     "color": 0,
       "parentid": "179439d6-df16-41cc-bd2c-74d05b7995d5",
            "name": "Node 1",
            "type": "Structure",
            "children": [],
            "id": "adf506ae-3628-4501-9af1-22bcf27e4ab4"
        }
    ],
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}

...

Assign an object to the latest/last structure node
"179439d6-df16-41cc-bd2c-74d05b7995d5"
}



Anchor
createSubStructure
createSubStructure

Create a sub-node under the structure
Deck of Cards
idbimcreateSubStructure


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/structures/<structure_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/structures/<structure_id> 

Example:https://api-stage.bimplus.net/v2/bimplus/projects/228b0d93-f3fd-433a-9242-c4dbfe806b53/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

mandatory

string(guid)

Parent node id of the structure (the id specified in the resource url)

name

mandatory

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nrwill be ignoredintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure



Card
labelHTTP Method
 POST


Card
labelDescription
 Create a sub-node under a particular structure


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
{
  "name": "Node 1"
}



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created


Code Block
borderColorRed
langxml
titleJSON
{
    "parentId": "179439d6-df16-41cc-bd2c-74d05b7995d5",
    "name": "Node 1",
    "type": "TopologyStructure",
    "nr": 1,
    "color": 0,
    "id": "adf506ae-3628-4501-9af1-22bcf27e4ab4"
}



Anchor
getStructureTopology
getStructureTopology

Get the structure topology
Deck of Cards
idbimGetStructureTopology


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>/topology?varianttype=<varianttype_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/topology?varianttype=<varianttype_id>

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/topology?varianttype=733e429a-e232-4e5d-a41e-9bd50aa9763c

Optional query parameters

NameTypeDefault valueDescription
varianttypestring (guid)Guid.Emptyid of the variant type



Card
labelHTTP Method
 GET


Card
labelDescription
 Get details of a specified structure.


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
{
    "parent": null,
    "name": "TestStructure",
    "type": "Structure",
    "children": [
        {
            "parent": "179439d6-df16-41cc-bd2c-74d05b7995d5",
            "name": "Node 1",
            "type": "Structure",
            "children": [],
            "id": "adf506ae-3628-4501-9af1-22bcf27e4ab4"
        }
    ],
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}



Anchor
putReorderStructure
putReorderStructure

Reorder the structure
Deck of Cards
idbimGetStructureTopology


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>/reorder?varianttype=<varianttype_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/reorder?varianttype=<varianttype_id>

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/reorder?varianttype=733e429a-e232-4e5d-a41e-9bd50aa9763c

Optional query parameters

NameTypeDefault valueDescription
varianttypestring (guid)Guid.Emptyid of the variant type



Card
labelHTTP Method
 PUT


Card
labelDescription
 Reorder the structure for specified variant type.


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
{
    "parent": null,
    "name": "TestStructure",
    "type": "Structure",
    "children": [
        {
            "parent": "179439d6-df16-41cc-bd2c-74d05b7995d5",
            "name": "Node 1",
            "type": "Structure",
            "children": [],
            "id": "adf506ae-3628-4501-9af1-22bcf27e4ab4"
        }
    ],
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}




Anchor
assignStructure
assignStructure

Assign an object to the latest/last structure node
Deck of Cards
idbimassignStructure


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>/assign/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/assign/<object_id> 

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/assign/df4a81d6-42fb-4187-bbce-82a2fc093b2f

JSON Structure

Name

Mandatory / Optional

Type

Description

color

optional

string(guid)

The id of the last node to which an object will be assigned

objectId

will be ignored

string(guid)

The id of the object to whom a structure will be assigned

name

mandatory

string

The name of the structure-object connection

nrwill be ignoredintegerThe index of the structure-object connection
idwill be ignoredstring(guid)Unique guid of the structure-object connection
variantTypeoptionalstring(guid)Variant Type Id to whom the object will be assigned
IfcGloballyUniqueIdoptionalstringIFC globally unique ID



Card
labelHTTP Method
 POST


Card
labelDescription

 Assign an object to the latest/last structure node


Note :

Works with two different inputs

  1. Object ID is present in the url - this object ID is used
  2. Object ID is not present, but content json contains IfcGloballyUniqueId - a corresponding Bimplus object is found and used as input object ID
    - if this IFC id is not found -> return "404 Not Found", if present multiple times -> return "409 Conflict"


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
{
  "name": "WallConnection",
  "variantType" : "35b986c2-e9cd-482e-9281-6000671a49f0"
}



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created


Code Block
borderColorRed
langxml
titleJSON
{
    "structureId": "adf506ae-3628-4501-9af1-22bcf27e4ab4",
    "objectId": "df4a81d6-42fb-4187-bbce-82a2fc093b2f",
    "name": "WallConnection",
    "nr": 1,
    "id": "35b986c2-e9cd-482e-9281-6000671a49f0"
}



Anchor
assignAdditionalObjects
assignAdditionalObjects


Assign additional objects to the latest structureElement node
Deck of Cards
idbimAssignAdditionalObjects


Card
labelUrl

 Resource: structures/<structureElement_id>/assign/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structureElement_id>/assign/<object_id> 

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/assign/df4a81d6-42fb-4187-bbce-82a2fc093b2f


Card
labelHttpMethod

POST


Card
labelJson
{
    "structureId": "adf506ae-3628-4501-9af1-22bcf27e4ab4",
    "objectId": "df4a81d6-42fb-4187-bbce-82a2fc093b2f",
    "name": "WallConnection",
    "nr": 1,
    "id": "35b986c2-e9cd-482e-9281-6000671a49f0",
    "variantType" : "35b986c2-e9cd-482e-9281-6000671a49f0"
}


Anchor
assignProjectElements
assignProjectElements

Assign a project element(s) into existing hierarchy structure
Deck of Cards
idbimAssignProjectElements


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/structures/<structure_id>/attributeassign 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/structures/<structure_id>/attributeassign

Example:https://api-stage.bimplus.net/v2/bimplus/projects/f1ee5e9a-c7c9-40bc-8871-5d13a99d5794/structures/b7d583e2-a3a6-4e11-b324-401f8723840e/attributeassign

JSON Structure

Name

Mandatory / Optional

Type

Description

attributeIdmandatorystring(guid)

Free attribute Id.

variantTypeoptionalstring(guid)Variant Type Id to whom the object will be assigned.



Card
labelHTTP Method
 PUT


Card
labelDescription

Assign a project element(s) into existing hierarchy structure according attribute value of element
(i.e. structure hierarchy description is identical to free attribute value) 


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
{
   "attributeId": "8ef4d2fd-8959-4aa1-8da9-3e238b1c7705",
   "variantType": "d120adc6-8382-4a0c-9638-a0d246590ed3"
}



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
  Status: 201 Created
          Function ended OK and minimal one project element was assigned to structure node

 
  Status: 204 NoContent
          Function ended OK, but no project element was assigned to structure node (i.e. no project element with requested free attribute was found)


Code Block
borderColorRed
langxml
titleJSON
{
  "structuretypeid": "512b5bcd-619d-4ef5-9644-7fe5d783b73a",
  "children": [
    {
      "structuretypeid": "512b5bcd-619d-4ef5-9644-7fe5d783b73a",
      "children": [],
      "elements": [
        {
          "structureId": "f0ebc65f-6ddc-4fa3-8f02-2911665adee4",
          "objectId": "72bd0a48-f0e8-4385-9d95-f242d42deb60",
          "name": "Basic Wall:Standard 20.0:491928",
          "nr": 0,
          "id": "23ee744f-0cca-4e39-adcd-e91396ad10ea"
        },
        {
          "structureId": "f0ebc65f-6ddc-4fa3-8f02-2911665adee4",
          "objectId": "228b0d93-f3fd-433a-9242-c4dbfe806b53",
          "name": "Basic Wall:Standard 20.0:491025",
          "nr": 0,
          "id": "c2586c7a-5b61-456a-ba84-c27ffe0976d6"
        }
      ],
      "parentId": "653afdf7-7cfb-42e5-a9b5-e99275ce5cf4",
      "name": "Subnode3",
      "description": "TestStrukturyPreAtributy1",
      "type": "FreeAttrTestStructure",
      "nr": 4,
      "color": 0,
      "disableElementAssignment": false,
      "id": "f0ebc65f-6ddc-4fa3-8f02-2911665adee4"
    }
  ],
  "elements": [],
  "projectId": "3904db18-cf1a-4665-9c2b-152b84293259",
  "name": "FreeAttrStructure",
  "description": "MainNode",
  "type": "FreeAttrTestStructure",
  "nr": 1,
  "color": 0,
  "disableElementAssignment": false,
  "id": "653afdf7-7cfb-42e5-a9b5-e99275ce5cf4"
}



Anchor
removeAssignedObject
removeAssignedObject

Remove assigned object from the latest structureElement node
Deck of Cards
idbimRemoveAssignedObject


Card
labelUrl / Resource

Resource: structures/<structureElement_id>/delete/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structureElement_id>/delete/<object_id> 

Example: https://api-stage.bimplus.net/v2/bimplus/structures/35b986c2-e9cd-482e-9281-6000671a49f0/delete/df4a81d6-42fb-4187-bbce-82a2fc093b2f



Card
labelHttpMethod

 DELETE


Card
labelresponse

HttpStatusCode.OK


Anchor
copyStructure
copyStructure

Copy Structure
Deck of Cards
idbimCopyStructure


Card
labelUrl / Resource /Json

Resource: structures/<structure_id>/copy

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/copy?varianttype=<varianttype_id>

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/copy?varianttype=733e429a-e232-4e5d-a41e-9bd50aa9763c

JSON Structure 

Name

Mandatory / Optional

Type

Description





name

mandatory

string

Name of the new structure





typeoptionalstringType of the new structure (eg: costStructure, specificationStructure)
nrwill be ignoredintegerThe index of the new structure
coloroptionalintegerColor of the new structure
idwill be ignoredstring(guid)Unique guid of the structure
startDateoptionalstring (date)Start date ( depends on type of structure )
endDateoptionalstring (date)End date ( depends on type of structure )


Optional query parameters  

NameTypeDefault valueDescription
varianttypestring (guid)Guid.Emptyid of the variant type

 


Card
labelHttpMethod

POST



Anchor
updateStructure
updateStructure

Update the structure
Deck of Cards
idbimUpdateStructure


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>

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

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

optional

string(guid)

Parent node id of the structure (for the first structure, projectId is the parentId)

name

optional

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nroptionalintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure



Card
labelHTTP Method
 PUT


Card
labelDescription
 Update the specified structure


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
{
  "name": "Updated Structure"
}



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
{
    "parentId": "622272da-f1ff-45ab-a3f0-c8f1255c80e8",
    "name": "Updated Structure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure",
    "nr": 1,
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}



Anchor
deleteStructure
deleteStructure

Delete the structure
Deck of Cards
idbimDeleteStructure


Card
defaulttrue
labelURL / Resource / JSON Structure

Resource: structures/<structure_id> 

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

Example:https://api-stage.bimplus.net/v2/bimplus/structures/db540336-47a3-426e-b3bf-1e532bfac8ea

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

optional

string(guid)

Parent node id of the structure (for the first structure, projectId is the parentId)

name

optional

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nroptionalintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)Unique guid of the structure


Optional query parameters

NameTypeDefault valueDescription
forceDeletestring(boolean)false

if true delete also all attachments which are under structure and are not lock, if under structure are locked document return 207 and delete just 

not locked document and structure.

deleteAllstring (boolean)falseif true delete also all attachments which are under structure and are not lock, if under structure are locked document return forbidden.



Card
labelHTTP Method
 DELETE


Card
labelDescription
 Deletes a specified structure.


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK



 

Anchor
downloadStructureAttachments
downloadStructureAttachments

Download attachments of the structure
Deck of Cards
idbimDownloadStructureAttachments


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>/downloadattachments 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/downloadattachments

Examplehttps://api-stage.bimplus.net/v2/bimplus/structures/db540336-47a3-426e-b3bf-1e532bfac8ea/downloadattachments


Card
labelHTTP Method
 GET


Card
labelDescription

Downloads all attachments assigned to the required structure node including all children.

Downloaded content is a compressed zip file. The directory structure in downloaded zip file reflects hierarchy of the structure nodes where structure names represent folder names. As a attachment name are used original filenames of the attachments.
The requested attachment types included in result zip file can be defined in query parameters.
e..g. https://api-stage.bimplus.net/v2/bimplus/structures/db540336-47a3-426e-b3bf-1e532bfac8ea/downloadattachments?attachmentType=AllplanLayout&attachmentType=AllplanDrawing
When query parameter is missing will be returned all attachments of the structure node tree.

More about attachmentType can be found here Filter for getting project-only attachments & attachments that belong to a particular attachment-type

Details about created attachments can be found in 4.4 Object service, e.g. Create a new attachment in the object or in 4.8 Attachment Service
If there are not any attachments in required structure tree the return code is 404 Not Found.


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/zip



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK

The response format is application/octet-stream.


Anchor
createVariant
createVariant

Create a new variant type in a project
Deck of Cards
idbimCreateVariant


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/variants 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/variants

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants

JSON Structure

Name

Mandatory / Optional

Type

Description

name

mandatory

string

Name of the variant type

description

optional

string

Description of the variant type

idwill be ignoredstring(guid)Unique guid of the variant type



Card
labelHTTP Method
 POST


Card
labelDescription
 Create a new variant type of defined structure(eg: cost structure, specification structure) under a project


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
{
    "name": "TestVariant type",
    "description": "Description of the Test variant type"
}



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created


Code Block
borderColorRed
langxml
titleJSON
{
  "name": "TestVariant type",
  "description": "Description of the Test variant type",
  "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
}



Anchor
getVariantDetails
getVariantDetails

Get the variant type details
Deck of Cards
idbimGetVariantDetails


Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/variants/<varianttype_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/variants/<varianttype_id>

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants/733e429a-e232-4e5d-a41e-9bd50aa9763c 


Card
labelHTTP Method
 GET


Card
labelDescription
 Get details of a specified variant type.


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
{
  "name": "TestVariant type",
  "description": "Description of the Test variant type",
  "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
}



Anchor
getVariantList
getVariantList

Get the list of existing variant types in the project
Deck of Cards
idbimGetVariantList
Deck of Cards
idbimassignStructure


Card
defaulttrue
labelURL / Resource / JSON Structure

Resource:

structures

projects/

<structure

<project_id>/

assign/<object_id> 

variants

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structuresprojects/<structure<project_id>/assign/<object_id> variants

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5/assign/df4a81d6-42fb-4187-bbce-82a2fc093b2f

JSON Structure

Name

Mandatory / Optional

Type

Description

structureId

will be ignored

string(guid)

The id of the last node to which an object will be assigned

objectId

will be ignored

string(guid)

The id of the object to whom a structure will be assigned

name

mandatory

string

The name of the structure-object connection

nrwill be ignoredintegerThe index of the structure-object connection
idwill be ignoredstring(guid)Unique guid of the structure-object connection
Card
labelHTTP Method
 POST
Card
labelDescription
 Assign an object to the latest/last structure node
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
  "name": "WallConnection"
}

/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants 


Card
labelHTTP Method
 GET


Card
labelDescription
 Gets the list of existing variant types created in the project.


Card
labelRequest


Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
[
  {
    "name": "TestVariantType1",
    "description": "Description of the Test variant type 1",
    "id": "6dc03014-8601-49fd-bae9-ef5b185603b6"
  },
  {
    "name": "TestVariantType2",
    "description": "Description of the Test variant type 2",
    "id": "4c1fda6b-7fd9-42a7-a4ae-88eababd3082"
  },
  {
    "name": "TestVariantType3",
    "description": "Description of the Test variant type 3
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
{
    "structureId": "adf506ae-3628-4501-9af1-22bcf27e4ab4",
    "objectIdid": "df4a81d6f2cf9b21-42fbc1bb-4187463d-bbcebbee-82a2fc093b2fa6fbfb5e8b3e"
  },
  {
    "name": "WallConnectionTestVariantType4",
    "nrdescription": 1,
    "id": "35b986c2-e9cd-482e-9281-6000671a49f0"
}

...

Assign additional objects to the latest structureElement node
"Description of the Test variant type 4",
    "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
  }
]



Anchor
updateVariant
updateVariant

Update the variant type
Deck of Cards
idbimUpdateVariant


Deck of Cards
idbimAssignAdditionalObjects

Resource: structures/<structureElement_id>/assign/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structureElement_id>/assign/<object_id> 

Example: https://api-stage.bimplus.net/v2/bimplus/structures/35b986c2-e9cd-482e-9281-6000671a49f0/assign/df4a81d6-42fb-4187-bbce-82a2fc093b2f

use the response from previous call for 'StructureElement.id'

Card
labelHttpMethod

POST

Card
labelassignRespons

is the same like previous call

...

Remove assigned object from the latest structureElement node
Deck of Cards
idbimRemoveAssignedObject
Resource: structures/<structureElement_id>/delete/<object_id> 
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: projects/<project_id>/variants/<varianttype_id>

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

structures/<structureElement

<project_id>/

delete

variants/

<object

<varianttype_

id> 

id>

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

structures

projects/

35b986c2

622272da-

e9cd

f1ff-

482e

45ab-

9281

a3f0-

6000671a49f0

c8f1255c80e8/

delete

variants/

df4a81d6

733e429a-

42fb

e232-

4187

4e5d-

bbce-82a2fc093b2f

a41e-9bd50aa9763c

JSON Structure

Name

Mandatory / Optional

Type

Description

name

optional

string

Name of the variant type

description

optional

string

Description of the variant type

idwill be ignoredstring(guid)Unique guid of the variant type



Card
labelHTTP Method
 PUT


Card
labelHttpMethodDescription
 Update the specified variant type DELETE


Card
labelresponseRequest


HttpStatusCode.OK
Code Block

...

borderColor

...

Green

...

lang

...

xml
Deck of Cards
idbimCopyStructure

Resource: structures/<structure_id>/copy

URLhttps://api-stage.bimplus.net/v2/<team_slug>/structures/<structure_id>/copy

Example: https://api-stage.bimplus.net/v2/bimplus/structures/35b986c2-e9cd-482e-9281-6000671a49f0/copy

 

 

...

Update the structure
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
{
  "name": "Updated TestVariantType4 name"
  "description": "Updated description of the TestVariantType4"
}



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
{
    "name": "Updated TestVariantType4 name",
    "description": "Updated description of the TestVariant type 4",
    "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
}



Anchor
deleteVariant
deleteVariant

Delete the variant
Deck of Cards
idbimDeleteVariant


Card
defaulttrue
labelURL / Resource / JSON Structure

Resource: projects/<project_id>/variants/<varianttype_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>projects/<project_id>/variants/<varianttype_id>

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants/733e429a-e232-4e5d-a41e-9bd50aa9763c

Deck of Cards
idbimUpdateStructure
Unique guid of the structure

Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>

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

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

optional

string(guid)

Parent node id of the structure (for the first structure, projectId is the parentId)

name

optional

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nroptionalintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)


Card
labelHTTP Method
 PUT DELETE


Card
labelDescription
 Update the specified structure Deletes a specified variant type.


Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders


Code Block
borderColorRedGreen
langxml
titleJSONHeaders
{
Authorization:  "name": "Updated Structure"
}BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK



Anchor
copyVariant

Code Block
borderColorRed
langxml
titleJSON
{
    "parentId": "622272da-f1ff-45ab-a3f0-c8f1255c80e8",
    "name": "Updated Structure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure",
    "nr": 1,
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}

copyVariant

Copy content of source variant type to target variant type
Deck of Cards
idbimCopyVariant


Card
labelUrl / Resource /Json

Resource: projects/<project_id>/variants/<targetvarianttype_id>/copyfrom

URLhttps://api-stage.bimplus.net/v2/<team_slug>projects/<project_id>/variants/<targetvarianttype_id>/copyfrom

Example:https://api-stage.bimplus.net/v2/bimplus/projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants/733e429a-e232-4e5d-a41e-9bd50aa9763c/copyfrom

JSON Structure 

Name

Mandatory / Optional

Type

Description

name

will be ignored

string

Name of the variant type

description

will be ignored

string

Description of the variant type

idmandatorystring(guid)Unique guid of the source variant type

 


Card
labelHttpMethod

PUT


Card
labelDescription

Updates the specified target variant type with all structure element's assignments of elements from source variant type.
When variant type id is missing will be used internally default variant type (Guid.Empty) as a source variant type

Note:
In case when at least one element is already assigned in target variant type and the same element is also present in source variant type,
such api call will return Conflict response and target variant type will not be updated.


Card
labelRequest

...

Delete the structure
Deck of Cards
idbimDeleteStructure
Card
defaulttrue
labelURL / Resource / JSON Structure

Resource: structures/<structure_id> 

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

Example:https://api-stage.bimplus.net/v2/bimplus/structures/db540336-47a3-426e-b3bf-1e532bfac8ea

Card
labelHTTP Method
 DELETE
Card
labelDescription
 Deletes a specified structure.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK

 

 

Unique guid of the structure
Headers
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
{
    "name": "ignored variant type name",
    "description": "ignored description of variant type",
    "id": "f2cf9b21-c1bb-463d-bbee-a6fbfb5e8b3e"
}



Card
labelResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
{
    "name": "Updated TestVariantType4 name",
    "description": "Updated description of the TestVariant type 4",
    "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
}
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>

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

Example:https://api-stage.bimplus.net/v2/bimplus/structures/179439d6-df16-41cc-bd2c-74d05b7995d5

JSON Structure

Name

Mandatory / Optional

Type

Description

parentId

optional

string(guid)

Parent node id of the structure (for the first structure, projectId is the parentId)

name

optional

string

Name of the structure

description

optional

string

Description of the structure

typeoptionalstringType of the structure (eg: costStructure, specificationStructure)
nroptionalintegerThe index of the structure
coloroptionalintegerColor of the structure
idwill be ignoredstring(guid)