Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Composition Cloud Migrator: Convert Deck and Card macros into Tab and Tab Group macros

...

 

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

...

Create a new structure in a project
Deck of Cardstab-group
iddeckIdbimcreateStructure


card
Cardtab
defaulttrue
labeltitleURL / 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
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"
}
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.



Tab
titleHTTP Method
 POST


Tab
titleDescription

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


Tab
titleRequest


Code Block
borderColor
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatusHeaders
Status: 201 Created  Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
  Content-Type: application/json


Code Block
borderColorRed
langxml
titleJSON
  A) Sample to create single structure:
  {
     "parentId": "622272da3904db18-f1ffcf1a-45ab4665-a3f09c2b-c8f1255c80e8152b84293259",
     "name": "TestStructure",
     "description": "FullLifeCycleTest",
     "type": "CostStructure",
    "nr": 1}
 
  B) Sample to create structure hierarchy:
  {
     "parentId": "3904db18-cf1a-4665-9c2b-152b84293259",
     "colorname": "Status 0structure",
     "idattributeId": "179439d602bbe8de-df16c623-41cc489f-bd2c9baa-74d05b7995d587f8ff3205f2"
}

...

Get the structure details
,
     "description": "Status of the project (enumeration)"
  }



Tab
titleResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created


Code Block
borderColorRed
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
JSON
A) Sample to create single structure:
{
   "parentId": "3904db18-cf1a-4665-9c2b-152b84293259",
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK
Code Block
borderColorRed
langxml
titleJSON
{
    "name": "TestStructure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure",
    "nr": 1,
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}

...

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
{

 
B) Sample to create structure hierarchy:
{
  "projectId": "3904db18-cf1a-4665-9c2b-152b84293259",
  "name": "Status structure",
  "description": "Status of the project (enumeration)",
  "type": "mainStructure2",
  "nr": 0,
  "id": "ee209608-19b1-40da-a089-53b20a858d41",
  "structuretypeid": "14c1ca64-4001-438f-a2f6-77ca951c488d",


  "children": [
    {
      "structuretypeid": "14c1ca64-4001-438f-a2f6-77ca951c488d",
      "children": [],
      "elements": [],
      "parentId": "179439d6ee209608-df1619b1-41cc40da-bd2ca089-74d05b7995d553b20a858d41",
      "name": "Node 1Undefined",
      "description": "0",
      "type": "TopologyStructuremainStructure2",
      "nr": 10,
      "colorid": 0 "40da49c5-3f3a-4e12-a4f8-94fb829c7c1e"
    },
    "id{
      "structuretypeid": "adf506ae14c1ca64-36284001-4501438f-9af1a2f6-22bcf27e4ab477ca951c488d"
}

...

,
      "children": [],
      "elements": [],
      "parentId": "ee209608-19b1-40da-a089-53b20a858d41",
      "name": "in planning stage",
      "description": "1",
      "type": "mainStructure2",
      "nr": 0,
      "id": "ecf9c518-1e24-4706-8557-d29d75fb7ddc"
    },
    ......
  ],

  "elements": []
}



Anchor
getStructureDetails
getStructureDetails

Get the structure details
Tab Group
deckIdbimGetStructureDetails


Tab
defaulttrue
titleURL / 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


Tab
titleHTTP Method
 GET


Tab
titleDescription
 Get details of a specified structure.


Tab
titleRequest


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



Tab
titleResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK


Code Block
borderColorRed
langxml
titleJSON
{
    "name": "TestStructure",
    "description": "FullLifeCycleTest",
    "type": "CostStructure",
    "nr": 1,
    "color": 0,
    "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
}



Anchor
createSubStructure
createSubStructure

Create a sub-node under the structure
Tab Group
deckIdbimcreateSubStructure


Tab
defaulttrue
titleURL / 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



Tab
titleHTTP Method
 POST


Tab
titleDescription
 Create a sub-node under a particular structure


Tab
titleRequest


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


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



Tab
titleResponse


Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created


Code Block
borderColorRed
langxml
titleJSON
{
    "parentId": "179439d6-df16-41cc-bd2c-74d05b7995d5

...

Get the structure topology
Deck of Cards
idbimGetStructureTopology
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: structures/<structure_id>/topology 

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
{
    "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"
}

...

Assign an object to the latest/last structure node
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

Deck of Cards
idbimassignStructure
Card
defaulttrue
labelURL / Resource / 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

  • Object ID is present in the url - this object ID is used
  • 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": "WallConnectionNode 1",
        "nrtype": 1"TopologyStructure",
        "idnr": "35b986c2-e9cd-482e-9281-6000671a49f01,
        "color": 0,
        "id": "adf506ae-3628-4501-9af1-22bcf27e4ab4"
    }



    Anchor
    assignAdditionalObjectsgetStructureTopologyassignAdditionalObjects

    ...

    getStructureTopology

    Get the structure topology
    Tab Group
    deckIdbimGetStructureTopology


    Tab
    defaulttrue
    titleURL / Resource / JSON Structure
    Deck of Cards
    idbimAssignAdditionalObjects
    Card
    labelUrl
     Resource: structures/<structureElement<structure_id>/assign/<objecttopology?varianttype=<varianttype_id> 

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

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

    Card
    labelHttpMethod

    POST

    topology?varianttype=733e429a-e232-4e5d-a41e-9bd50aa9763c

    Optional query parameters

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



    Tab
    titleHTTP Method
     GET


    Tab
    titleDescription
     Get details of a specified structure.


    Tab
    titleRequest


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



    Tab
    titleResponse


    Code Block
    borderColorGreen
    langxml
    titleStatus
    Status: 200 OK
    


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

     

    ...

    Remove assigned object from the latest structureElement node

    ...

    idbimRemoveAssignedObject

    ...

    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

    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
    Tab Group
    deckIdbimGetStructureTopology


    Tab
    defaulttrue
    titleURL / 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



    Tab
    titleHTTP Method
     PUT


    Tab
    titleDescription
     Reorder the structure for specified variant type.


    Tab
    titleRequest


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



    Tab
    titleResponse


    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",
            

    ...

    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

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

     

    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 )

     

    Card
    labelHttpMethod

    POST

     

    ...

    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": "CostStructureStructure",
                "nrchildren": 1[],
        "color": 0,
            "id": "179439d6adf506ae-df163628-41cc4501-bd2c9af1-74d05b7995d5"
    }

    ...

    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
    

     

     

    22bcf27e4ab4"
            }
        ],
        "id": "179439d6-df16-41cc-bd2c-74d05b7995d5"
    }




    Anchor
    assignStructure
    assignStructure

    Assign an object to the latest/last structure node
    Tab Group
    deckIdbimassignStructure


    Tab
    defaulttrue
    titleURL / 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



    Tab
    titleHTTP Method
     POST


    Tab
    titleDescription

     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"


    Tab
    titleRequest


    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"
    }



    Tab
    titleResponse


    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
    Tab Group
    deckIdbimAssignAdditionalObjects


    Tab
    titleUrl

     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


    Tab
    titleHttpMethod

    POST


    Tab
    titleJson
    {
        "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
    Tab Group
    deckIdbimAssignProjectElements


    Tab
    defaulttrue
    titleURL / 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.



    Tab
    titleHTTP Method
     PUT


    Tab
    titleDescription

    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) 


    Tab
    titleRequest


    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"
    }
    



    Tab
    titleResponse


    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
    Tab Group
    deckIdbimRemoveAssignedObject


    Tab
    titleUrl / 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



    Tab
    titleHttpMethod

     DELETE


    Tab
    titleresponse

    HttpStatusCode.OK


    Anchor
    copyStructure
    copyStructure

    Copy Structure
    Tab Group
    deckIdbimCopyStructure


    Tab
    titleUrl / 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

     


    Tab
    titleHttpMethod

    POST



    Anchor
    updateStructure
    updateStructure

    Update the structure
    Tab Group
    deckIdbimUpdateStructure


    Tab
    defaulttrue
    titleURL / 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



    Tab
    titleHTTP Method
     PUT


    Tab
    titleDescription
     Update the specified structure


    Tab
    titleRequest


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


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



    Tab
    titleResponse


    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
    Tab Group
    deckIdbimDeleteStructure


    Tab
    defaulttrue
    titleURL / 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.



    Tab
    titleHTTP Method
     DELETE


    Tab
    titleDescription
     Deletes a specified structure.


    Tab
    titleRequest


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



    Tab
    titleResponse


    Code Block
    borderColorGreen
    langxml
    titleStatus
    Status: 200 OK
    



     

    Anchor
    downloadStructureAttachments
    downloadStructureAttachments

    Download attachments of the structure
    Tab Group
    deckIdbimDownloadStructureAttachments


    Tab
    defaulttrue
    titleURL / 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


    Tab
    titleHTTP Method
     GET


    Tab
    titleDescription

    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.


    Tab
    titleRequest


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



    Tab
    titleResponse


    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
    Tab Group
    deckIdbimCreateVariant


    Tab
    defaulttrue
    titleURL / 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



    Tab
    titleHTTP Method
     POST


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


    Tab
    titleRequest


    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"
    }



    Tab
    titleResponse


    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
    Tab Group
    deckIdbimGetVariantDetails


    Tab
    defaulttrue
    titleURL / 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 


    Tab
    titleHTTP Method
     GET


    Tab
    titleDescription
     Get details of a specified variant type.


    Tab
    titleRequest


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



    Tab
    titleResponse


    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
    Tab Group
    deckIdbimGetVariantList


    Tab
    defaulttrue
    titleURL / 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 


    Tab
    titleHTTP Method
     GET


    Tab
    titleDescription
     Gets the list of existing variant types created in the project.


    Tab
    titleRequest


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



    Tab
    titleResponse


    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",
        "id": "f2cf9b21-c1bb-463d-bbee-a6fbfb5e8b3e"
      },
      {
        "name": "TestVariantType4",
        "description": "Description of the Test variant type 4",
        "id": "733e429a-e232-4e5d-a41e-9bd50aa9763c"
      }
    ]



    Anchor
    updateVariant
    updateVariant

    Update the variant type
    Tab Group
    deckIdbimUpdateVariant


    Tab
    defaulttrue
    titleURL / 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

    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



    Tab
    titleHTTP Method
     PUT


    Tab
    titleDescription
     Update the specified variant type


    Tab
    titleRequest


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


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



    Tab
    titleResponse


    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
    label
    Tab Group
    deckIdbimDeleteVariant


    Tab
    defaulttrue
    title
    Card
    defaulttrue
    URL / Resource / JSON Structure

    Resource:

    structures/<structure

    projects/<project_id>/variants/<varianttype_id> 

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

    structures

    variants/

    <structure

    <varianttype_

    id> 

    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

    ...

    Create a new variant in a project

    /projects/622272da-f1ff-45ab-a3f0-c8f1255c80e8/variants/733e429a-e232-4e5d-a41e-9bd50aa9763c


    Tab
    titleHTTP Method
     DELETE


    Tab
    titleDescription
     Deletes a specified variant type.


    Tab
    titleRequest


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



    Tab
    titleResponse


    Code Block
    borderColorGreen
    langxml
    titleStatus
    Status: 200 OK
    



    Anchor
    copyVariant
    copyVariant

    Copy content of source variant type to target variant type
    Tab Group
    deckIdbimCopyVariant


    Tab
    titleUrl / Resource /Json

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

    Deck of Cards
    idbimcreateVariant
    name
    Card
    defaulttrue
    labelURL / Resource / JSON Structure
    Resource: projects/<project_id>/variants 

    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

    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)
    Name
    Unique guid of the source variant

    description

    optional

    string

    Description of the variant

    idwill be ignoredstring(guid)Unique guid of the structure
    Card
    labelHTTP Method
     POST
    Card
    labelDescription
     Create a new variant of defined structure(eg: cost structure, specification structure) under a project
    type

     


    Tab
    titleHttpMethod

    PUT


    Tab
    titleDescription

    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.


    Tab
    title
    Card
    labelRequest


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


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



    Cardtab
    labeltitleResponse


    Code Block
    borderColorGreen
    langxml
    titleStatus
    Status: 201200 CreatedOK
    


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



    ...